WEBVTT

00:00:08.640 --> 00:00:12.800
<v Gast 2>Der Podcast rund um Webtechnologie und um

00:00:17.760 --> 00:00:22.720
<v Gast 2>Hallo und willkommen zu Binecke mit der Talk der West Coast Edition Nummer 5.

00:00:23.280 --> 00:00:25.760
<v Gast 2>Mit mir, Marc, und mit Fley.

00:00:26.080 --> 00:00:28.720
<v Gast 1>Ich bin der FlyD, wie immer aus Seattle.

00:00:29.120 --> 00:00:31.920
<v Gast 1>Marc sitzt immer noch im schönen Menlo Park.

00:00:32.480 --> 00:00:33.280
<v Unbekannt>Richtig.

00:00:33.520 --> 00:00:36.080
<v Gast 2>Und ich weiß, die meisten Leute sind jetzt wahrscheinlich verwirrt,

00:00:36.160 --> 00:00:39.360
<v Gast 2>weil wir ja mehr als einmal pro Monat aufgenommen haben.

00:00:40.320 --> 00:00:40.720
<v Gast 2>Pro Jahr.

00:00:41.120 --> 00:00:42.560
<v Gast 2>Normalerweise einmal pro Jahr.

00:00:42.640 --> 00:00:48.400
<v Gast 2>Und jetzt haben wir aber schon zum zweiten Mal diesen Monat, weil wir tatsächlich uns Zeit genommen haben.

00:00:48.560 --> 00:00:48.960
<v Gast 2>Unglaublich.

00:00:49.120 --> 00:00:50.080
<v Gast 1>Einfach mal Zeit nehmen.

00:00:50.160 --> 00:00:56.800
<v Gast 2>Und normalerweise machen wir ja nicht so die News, weil das hat ja schon das binär gewitterte Talk,

00:00:57.120 --> 00:01:00.080
<v Gast 2>ich sag mal, die können wir es denn nennen?

00:01:00.160 --> 00:01:01.600
<v Gast 1>Die Schwestersendung?

00:01:02.080 --> 00:01:03.440
<v Gast 2>Old Country Edition, nee.

00:01:03.920 --> 00:01:05.600
<v Gast 1>Die, äh, ich weiß es nicht.

00:01:06.880 --> 00:01:07.840
<v Gast 1>Das Original-TM.

00:01:08.640 --> 00:01:13.600
<v Gast 2>Das Original-TM hat ja schon die Nachrichten für sich quasi beansprucht,

00:01:13.680 --> 00:01:16.480
<v Gast 2>deswegen, wenn wir da dasselbe nochmal vorlesen, ist ja auch doof.

00:01:17.200 --> 00:01:22.320
<v Gast 2>Deswegen haben wir uns gedacht, wir wollen jetzt einfach mal ein bisschen Themenfolge machen.

00:01:22.640 --> 00:01:27.520
<v Gast 2>Und unser Thema heute werden Container und Deployment sein.

00:01:28.160 --> 00:01:31.520
<v Gast 2>Größtenteils wahrscheinlich so ein bisschen um Docker rum, aber auch so,

00:01:31.600 --> 00:01:35.280
<v Gast 2>was Docker, ich sag mal, am Leben hält.

00:01:36.800 --> 00:01:38.080
<v Unbekannt>Warum denn, FlyDy?

00:01:38.320 --> 00:01:39.200
<v Unbekannt>Du hast es vorgeschlagen.

00:01:39.440 --> 00:01:40.880
<v Gast 2>Was liegt dir denn da so am Herzen an dem?

00:01:41.200 --> 00:01:43.040
<v Gast 1>Ich finde das eine ganz interessante Technologie.

00:01:43.120 --> 00:01:48.960
<v Gast 1>Ich habe das jetzt hin und wieder sowohl privat als auch auf der Arbeit immer mal wieder verwendet.

00:01:49.520 --> 00:01:54.720
<v Gast 1>In letzter Zeit intensiver, auch für irgendwelche lokalen Development-Setups und was weiß ich.

00:01:55.520 --> 00:01:58.880
<v Gast 1>Und ja, ich dachte, das wäre vielleicht mal ein interessantes Thema,

00:01:58.960 --> 00:02:00.320
<v Gast 1>wo man irgendwie ein bisschen drüber reden könnte.

00:02:00.400 --> 00:02:04.400
<v Gast 1>Ich meine, du hast ja auch schon öfters erwähnt, dass du irgendwie auf deinen Home-Servern mit Docker jetzt im

00:02:04.400 --> 00:02:06.480
<v Gast 1>Konkreten irgendwie rumgespielt hast.

00:02:07.360 --> 00:02:12.800
<v Gast 1>Ja, ich habe irgendwelche Virtual Server-Nupsis laufen,

00:02:12.880 --> 00:02:17.440
<v Gast 1>wo irgendwelche Seiten drauf gehostet sind von irgendwelchen Leuten.

00:02:18.400 --> 00:02:23.520
<v Gast 1>Und da lasse ich auch manche der Apps,

00:02:23.600 --> 00:02:27.760
<v Gast 1>die ich da hoste, die laufen auch in Docker und ist eigentlich eine ganz schicke Sache,

00:02:27.840 --> 00:02:33.360
<v Gast 1>vor allem wenn man, wenn man halt mal damit angefangen hat und dann irgendwie mal Server umziehen will und so,

00:02:33.440 --> 00:02:36.640
<v Gast 1>dann macht es das Ganze halt auch deutlich einfacher, finde ich persönlich.

00:02:37.040 --> 00:02:41.680
<v Gast 2>Ja, im Normalfall ist ja immer so das Problem, gerade wenn du mehrere Seiten,

00:02:41.760 --> 00:02:48.240
<v Gast 2>wenn es jetzt Webseiten sind oder generische Prozesse, irgendwelche Server oder dann ein BitTorrent-Client

00:02:48.320 --> 00:02:50.320
<v Gast 2>oder was auch immer du benutzen willst.

00:02:50.480 --> 00:02:56.080
<v Gast 2>Im Normalfall war ja so der klassische Art, dass du da irgendwie, du gehst per SSH auf deine Box drauf und

00:02:56.560 --> 00:03:00.960
<v Gast 2>sagst dann hier Upgate-Install oder YAM-Install oder was hat man noch?

00:03:01.040 --> 00:03:01.760
<v Gast 2>Was hatte SUSE?

00:03:01.840 --> 00:03:05.520
<v Gast 2>SUSE hatte immer Zipper ist neu und früher hatten sie Yast?

00:03:05.920 --> 00:03:06.640
<v Gast 2>Yast install.

00:03:06.880 --> 00:03:07.760
<v Unbekannt>Ja, ich glaube Yast.

00:03:08.240 --> 00:03:11.920
<v Gast 1>Ja, oder keine Ahnung, Arch Linux hat man Pac-Man oder.

00:03:12.480 --> 00:03:17.200
<v Gast 2>Und das war ja so der Klassiker, so hey, ich hätte gerne die Anwendung, dann wiederhol mir die doch mal.

00:03:17.840 --> 00:03:22.000
<v Gast 2>Was da immer so ein bisschen ein Problem ist, also das funktioniert so auf Einzelsystemen,

00:03:22.080 --> 00:03:24.560
<v Gast 2>wo du quasi der Einzige drauf bist, immer wunderbar.

00:03:24.880 --> 00:03:29.680
<v Gast 2>Was ein bisschen ein Problem ist, wenn du gerade so mit mehreren anderen Anwendungen,

00:03:29.760 --> 00:03:32.800
<v Gast 2>die diesen Server teilst und eventuell mehreren anderen Leuten.

00:03:33.920 --> 00:03:37.360
<v Gast 2>Teilweise, wenn die Anwendungen irgendwie dynamisch kompiliert sind,

00:03:37.440 --> 00:03:40.160
<v Gast 2>dann kannst du das Problem haben, dass die eine Anwendung sagt, ja,

00:03:40.320 --> 00:03:45.680
<v Gast 2>ich brauche Libxml Version 1.7 und die andere Anwendung sagt,

00:03:45.840 --> 00:03:48.320
<v Gast 2>oh, 1.7, da kann ich gar nicht ab.

00:03:48.560 --> 00:03:49.840
<v Gast 2>Ich brauche 2.1.

00:03:50.160 --> 00:03:53.440
<v Gast 1>Ja, dann musst du wieder mit irgendwelchen LD-Preload-Hacks rummachen und.

00:03:53.840 --> 00:03:56.960
<v Gast 2>Genau, dann hast du immer das Gefrickel und das Problem ist dann auch,

00:03:57.040 --> 00:04:02.800
<v Gast 2>dann hast du die Anwendung, also oft haben ja die Open-Source-Anwendungen früher dann so Installation,

00:04:02.960 --> 00:04:08.880
<v Gast 2>ja, hier einfach mal diese 18 Pakete installieren, die bringen dann noch ihre Dependencies mit und wenn du es

00:04:08.880 --> 00:04:13.040
<v Gast 2>dann wieder loswerden wolltest, hattest du dann immer die Freude, dass du dann versuchen musstest,

00:04:13.200 --> 00:04:19.840
<v Gast 2>dass der hoffentlich auch nur das Zeug deinstalliert, was er drauf gemacht hat und dass niemand implizit halt

00:04:19.840 --> 00:04:24.400
<v Gast 2>noch irgendwie auf Lib C-Version sonst was besteht,

00:04:24.640 --> 00:04:27.760
<v Gast 2>aber die hast du jetzt entfernt und dann geht das andere Programm nicht mehr.

00:04:27.920 --> 00:04:29.680
<v Gast 2>Das war alles immer ein bisschen nervig.

00:04:29.920 --> 00:04:36.720
<v Gast 2>Und generell war auch immer nervig, dass wenn die Programme entweder alle einen eigenen User

00:04:36.720 --> 00:04:42.640
<v Gast 2>gebraucht haben, weil du willst ja nicht, dass dir der Krepel irgendwas Web-Server auf einmal auch deinen

00:04:42.880 --> 00:04:44.480
<v Gast 2>Root-Passwort ändern kann.

00:04:44.800 --> 00:04:49.200
<v Gast 2>Da hattest du also auch so ein bisschen Sicherheit mit drin, dass du die zumindest so etwas abisolierst

00:04:49.280 --> 00:04:50.080
<v Gast 2>voneinander.

00:04:50.640 --> 00:04:56.320
<v Gast 2>Und da gab es dann auch selbst kleinere Sachen, irgendwie, wenn du irgendein Programm hast,

00:04:56.400 --> 00:05:02.000
<v Gast 2>das, keine Ahnung, PS, einfach einen Shell-out nach PS machen kann und das sieht dann all deine Prozesse,

00:05:02.160 --> 00:05:07.120
<v Gast 2>die da laufen, eventuell steht irgendwo noch ein Passwort drin, weil du das in die Kommandozeile mit übergeben

00:05:07.120 --> 00:05:07.440
<v Gast 2>hast.

00:05:07.520 --> 00:05:13.040
<v Gast 2>Und generell war das immer so ein bisschen das Problem beim Deployment und auch beim lokalen Entwickeln,

00:05:13.120 --> 00:05:16.720
<v Gast 2>dass du halt versuchen musstest, das irgendwie alles aktuell zu halten.

00:05:16.960 --> 00:05:23.040
<v Gast 1>Ja, und halt auch, wenn wir gerade bei Deployments sind oder wenn wir gerade bei Entwicklungssetups sind,

00:05:23.360 --> 00:05:29.120
<v Gast 1>ich weiß nicht, ich arbeite jetzt in einem Umfeld, wo alle möglichen Technologien irgendwie eingesetzt werden,

00:05:29.280 --> 00:05:33.280
<v Gast 1>wir haben irgendwie Services, die sind in Node geschrieben, wir haben Sachen,

00:05:33.360 --> 00:05:39.120
<v Gast 1>die laufen irgendwie auf Windows, in .NET, wir haben Sachen, die laufen in .NET-Core,

00:05:39.280 --> 00:05:40.320
<v Gast 1>auf Linux.

00:05:40.800 --> 00:05:46.480
<v Gast 1>Und da irgendwie eine einheitliche Infrastruktur dafür zu finden, wo sich irgendwie jeder zurechtfindet,

00:05:46.560 --> 00:05:48.400
<v Gast 1>ist halt auch irgendwie so ein Problem.

00:05:48.880 --> 00:05:54.320
<v Gast 1>Und gegen, wenn man dann halt sagen kann, okay, man hat jetzt vielleicht eine Abstraktion auf all diesen

00:05:54.320 --> 00:06:00.240
<v Gast 1>Geschichten drin oder über all diesen Geschichten hat man halt irgendwie eine

00:06:00.240 --> 00:06:04.640
<v Gast 1>Abstraktionsebene darüber und jeder weiß, wie man diese Abstraktion benutzt,

00:06:05.360 --> 00:06:10.960
<v Gast 1>dann macht es halt vielleicht so ein bisschen einfacher, irgendwie so anzufangen oder einfach mal irgendwie

00:06:10.960 --> 00:06:13.840
<v Gast 1>sein lokales Setup in den Griff zu kriegen, weil dann kann man halt sagen,

00:06:13.920 --> 00:06:18.880
<v Gast 1>okay, man muss jetzt nicht mehr überlegen, was ist, wenn denn jetzt irgendeine Person ein Mac benutzt oder was

00:06:18.880 --> 00:06:23.680
<v Gast 1>ist, wenn eine Person Windows benutzt oder was ist, wenn eine Person irgendwie Linux benutzt oder so.

00:06:23.920 --> 00:06:28.320
<v Gast 1>Sondern man kann halt einfach sagen, die Baseline ist Linux in einem Docker-Container.

00:06:29.920 --> 00:06:33.840
<v Gast 1>Oder generell einfach irgendwas, was in einem Docker-Container läuft.

00:06:33.920 --> 00:06:38.400
<v Gast 1>Bei uns ist es im Normalfall so, für viele der Sachen ist die Baseline Linux in einem Docker-Container.

00:06:38.560 --> 00:06:44.000
<v Gast 1>Und dann kann man halt da auch ganz anders mit arbeiten und egal ob jemand jetzt irgendwie Windows hat oder ob

00:06:44.000 --> 00:06:49.920
<v Gast 1>jemand ein Mac hat oder sonst irgendwas, das läuft dann halt trotzdem auch auf diesen

00:06:49.920 --> 00:06:54.160
<v Gast 1>Betriebssystemen in Form von irgendwelchen Docker-VMs.

00:06:54.800 --> 00:07:00.400
<v Gast 1>Aber da muss man sich halt nicht groß drum kümmern und startet halt die Docker-App lokal und dann macht die

00:07:00.400 --> 00:07:01.040
<v Gast 1>schon das Richtige.

00:07:01.360 --> 00:07:05.040
<v Gast 2>Ja, und früher war ja auch so der, was man oft am Anfang gefunden hat,

00:07:05.200 --> 00:07:09.200
<v Gast 2>so Vagrant zum Beispiel, wo du dann halt echt eine komplette Linux-VM,

00:07:09.360 --> 00:07:15.440
<v Gast 2>so Standardinstallation Ubuntu mit ihren 500, 600 Megabyte gestartet hast und da sind dann irgendwie unendlich

00:07:15.440 --> 00:07:16.720
<v Gast 2>viele Services drin.

00:07:17.680 --> 00:07:24.080
<v Gast 2>Docker benutzt, wie du gesagt hast, auf den Systemen Windows und Mac auch meist Linux

00:07:24.960 --> 00:07:27.360
<v Gast 2>oder irgendwelche Aparten davon.

00:07:27.600 --> 00:07:32.720
<v Gast 1>Naja, es gibt Docker auch nativ auf Windows, allerdings ist das so ein bisschen eher esoterisch,

00:07:32.800 --> 00:07:37.040
<v Gast 1>weil dann lässt man halt irgendwelche PowerShell-Skripte in Docker-Containern laufen,

00:07:37.280 --> 00:07:38.560
<v Gast 1>um dann irgendwelche Sachen zu tun.

00:07:38.640 --> 00:07:42.880
<v Gast 1>Also es gibt es auch, es wird auch von Windows-Supported, aber ich habe es bis jetzt eher so im Linux und

00:07:42.880 --> 00:07:45.280
<v Gast 1>Unix, hauptsächlich im Linux-Umfeld gesehen.

00:07:45.520 --> 00:07:49.760
<v Gast 2>Und gerade bei gibt es ja noch auf macOS, da gibt es dann dieses Hypervisor-Framework,

00:07:49.840 --> 00:07:55.760
<v Gast 2>das geht dann so auch fast, aber da wird man gleich wahrscheinlich auch noch drauf kommen,

00:07:56.080 --> 00:08:01.040
<v Gast 2>ein bisschen über die Technologie, die unter Docker steckt, reden, warum das nicht so einfach ist,

00:08:01.200 --> 00:08:03.680
<v Gast 2>das auf allen Betriebssystemen einfach am Laufen zu halten.

00:08:03.840 --> 00:08:08.960
<v Gast 2>Aber generell ist die Motivation einerseits einfaches Deployment, so wenn man irgendwelche Sachen nicht

00:08:08.960 --> 00:08:13.680
<v Gast 2>unbedingt statisch kompilieren kann, was bei vielen Sachen fast unmöglich ist,

00:08:14.240 --> 00:08:19.680
<v Gast 2>und andererseits auch lokale Entwicklung, dass du quasi nicht jedem irgendwie die 18 Seiten

00:08:19.680 --> 00:08:24.880
<v Gast 2>MySQL-Installationsanleitung irgendwie geben musst, sondern sagst hier einfach dieses Kommando und dann sollte

00:08:24.880 --> 00:08:25.440
<v Gast 2>das passen.

00:08:25.680 --> 00:08:29.520
<v Gast 1>Ja, auch in Sachen Deployment, da geht es ja jetzt nicht nur um irgendwelche

00:08:30.160 --> 00:08:36.880
<v Gast 1>Laufzeit-Dependencies oder um irgendwelche dynamisch gelingten

00:08:36.880 --> 00:08:40.400
<v Gast 1>Bibliotheken oder sowas, sondern vielleicht hast du halt auch einfach Ressourcen,

00:08:40.480 --> 00:08:46.000
<v Gast 1>die du halt teilen willst und wo du halt aber jetzt nicht willst,

00:08:46.080 --> 00:08:50.960
<v Gast 1>dass irgendwie eine Applikation deinen kompletten, deinen kompletten Server runterziehen kann.

00:08:51.200 --> 00:08:53.520
<v Gast 1>Vielleicht möchtest du dich dann ja auch irgendwie dagegen schützen,

00:08:53.600 --> 00:08:58.960
<v Gast 1>dass dann irgendwie einzelne Apps, die du halt laufen lässt, dein System irgendwie im Ganzen beeinträchtigen.

00:08:59.840 --> 00:09:03.600
<v Gast 1>Und kann man schon irgendwie Virtualisierung benutzen.

00:09:03.920 --> 00:09:06.800
<v Gast 1>Es wurde, glaube ich, in der Vergangenheit auch sehr oft eingesetzt,

00:09:06.880 --> 00:09:10.720
<v Gast 1>dass man einfach sagen kann, okay, man hat jetzt eine bisschen stärkere Maschine,

00:09:10.960 --> 00:09:15.440
<v Gast 1>die dann irgendwie virtualisiert mehrere Betriebssysteme laufen lässt.

00:09:15.840 --> 00:09:20.160
<v Gast 1>Ist allerdings ja schon ein bisschen sehr ressourcenintensiv zumindest.

00:09:20.320 --> 00:09:24.480
<v Gast 2>Ja, und die ganzen Hipster unter euch werden jetzt natürlich auch dann sagen,

00:09:24.640 --> 00:09:29.040
<v Gast 2>ja, aber wir hatten das ja mit, keine Ahnung, FreeBSD,

00:09:29.200 --> 00:09:32.720
<v Gast 2>Jails oder Solaris Zones, das hatten wir ja schon alles.

00:09:34.480 --> 00:09:35.040
<v Gast 2>Ja, natürlich.

00:09:35.200 --> 00:09:37.440
<v Gast 2>Das war ja damals, ne?

00:09:37.840 --> 00:09:44.720
<v Gast 2>Und durchaus richtig, aber auf Linux gab es halt so, du konntest irgendwie mit U-Limit irgendwie verhindern,

00:09:44.800 --> 00:09:50.960
<v Gast 2>dass der Prozess sich zu viele File-Deskriptoren öffnet oder du konntest ein bisschen den RAM anpassen.

00:09:51.360 --> 00:09:55.920
<v Gast 1>Ja, du könntest irgendwelche irgendwelche, du konntest deine Applikation in Changeroots mounten und dann

00:09:55.920 --> 00:10:00.880
<v Gast 1>sagen, ja, du hast jetzt hier ein neues Root-File-System, da kommst du nicht raus.

00:10:01.760 --> 00:10:05.520
<v Gast 1>Aber das geht halt nur so weit.

00:10:06.720 --> 00:10:10.560
<v Gast 1>Das geht halt bis zu einem gewissen Limit und dann wird es halt irgendwann schwierig,

00:10:10.640 --> 00:10:15.840
<v Gast 1>wenn du halt dann irgendwie so Sachen wie, naja, CPU-Zeit eingrenzen willst oder Memory Usage oder

00:10:16.720 --> 00:10:17.760
<v Gast 1>Netzwerkgeschichten.

00:10:18.240 --> 00:10:18.880
<v Gast 1>Genau, I.O.

00:10:19.040 --> 00:10:22.080
<v Gast 2>war immer so das Problem, weil du kannst halt echt eine Anwendung haben,

00:10:22.160 --> 00:10:26.720
<v Gast 2>die dir deinen Disk-Controller komplett zurrödelt und dann viel Glück in allen anderen Anwendungen.

00:10:27.920 --> 00:10:34.480
<v Gast 2>Und da ist jetzt so, Docker hat es dann irgendwie erkannt und hat sich einige von diesen

00:10:34.480 --> 00:10:39.920
<v Gast 2>Technologien angesehen, die sich in der Zwischenzeit auf Linux entwickelt haben.

00:10:40.320 --> 00:10:44.240
<v Gast 2>Und sollen wir einfach mal durchgehen, was denn, aus was Docker besteht?

00:10:45.200 --> 00:10:49.680
<v Gast 2>Docker ist also ein, ist in Go geschrieben, bedeutet,

00:10:49.760 --> 00:10:52.000
<v Gast 2>kann man so cross-kompilieren, läuft eigentlich ganz gut.

00:10:52.160 --> 00:10:59.120
<v Gast 2>Und Docker hat sich so ein bisschen darauf spezialisiert, einige Linux-Kernel-Technologien,

00:10:59.440 --> 00:11:04.560
<v Gast 2>die der Kernel bereitstellt, ich sag mal, angenehm zu verpacken und so,

00:11:04.640 --> 00:11:11.520
<v Gast 2>dass du quasi in vier Kommandos das ganze Zeug irgendwie aufsetzen kannst und da eine Anwendung

00:11:11.520 --> 00:11:12.480
<v Gast 2>drin laufen lassen kannst.

00:11:12.560 --> 00:11:15.360
<v Gast 2>Und die erste ist Namespaces.

00:11:15.680 --> 00:11:22.080
<v Gast 2>Namespaces ist so eine Sache, die der Linux-Kernel für verschiedene

00:11:22.080 --> 00:11:27.040
<v Gast 2>Arten von Ressourcen auf deinem auf deinem Betriebssystem anbietet.

00:11:27.280 --> 00:11:33.280
<v Gast 2>Und der Gedanke ist einfach, dass wenn du zum Beispiel auf deinem, du logst in einen Server ein und tippst PS,

00:11:33.440 --> 00:11:37.840
<v Gast 2>wenn du als normaler User oder als Root-User, du siehst halt alles,

00:11:37.920 --> 00:11:38.480
<v Gast 2>was läuft.

00:11:38.640 --> 00:11:42.560
<v Gast 2>Alle Benutzer, alle Prozesse, selbst die ganzen blöden Kernel-Worker,

00:11:42.640 --> 00:11:45.840
<v Gast 2>die dich eigentlich interessieren, standardmäßig siehst du alles.

00:11:46.000 --> 00:11:48.800
<v Gast 1>Ja, alle Argumente, die an irgendwelche Prozesse weitergegeben wurden,

00:11:48.880 --> 00:11:50.800
<v Gast 1>wo vielleicht irgendwelche Credentials oder sowas.

00:11:50.880 --> 00:11:53.440
<v Gast 1>Das sollte man jetzt vielleicht nicht machen, aber passiert halt ab und zu,

00:11:53.520 --> 00:11:57.840
<v Gast 1>dass irgendwelche ab und zu in PS irgendwelche Prozesse auftauchen,

00:11:57.920 --> 00:12:02.240
<v Gast 1>wo man auch irgendwelche Credentials dazu in der Argumentliste findet.

00:12:02.400 --> 00:12:07.520
<v Gast 2>Genau, und das ist so der Standard Namespace, aber Linux in Namespaces bietet dir die Möglichkeit an,

00:12:07.680 --> 00:12:10.000
<v Gast 2>auch Prozessisolation zu machen.

00:12:10.320 --> 00:12:17.120
<v Gast 2>Bedeutet, du kannst dann sagen, okay, dieser Benutzer, diese Prozesse sind ja in so einer Hierarchie.

00:12:17.200 --> 00:12:22.240
<v Gast 2>Also am Anfang ist Init, der dann irgendwie alle anderen spawnt und im Normalfall hängst du halt unter

00:12:22.240 --> 00:12:25.200
<v Gast 2>irgendeiner Bash oder sowas in der Art, wenn du nicht per SSH einloggst.

00:12:25.360 --> 00:12:30.720
<v Gast 2>Und du kannst dem Linux-Körner halt sagen, okay, wenn jemand fragt,

00:12:30.960 --> 00:12:35.600
<v Gast 2>unterhalb von dieser Bash-Shell, mit der sich gerade der Benutzer eingeloggt hat oder unterhalb von diesem

00:12:35.600 --> 00:12:41.040
<v Gast 2>MySQL-Server, der da gerade läuft, wenn jemand fragt, hey, was für Prozesse sind denn noch so auf dem System?

00:12:41.200 --> 00:12:45.360
<v Gast 2>Also wenn er das mit PS macht oder mit Slash Proc oder sonst irgendwas in der Art,

00:12:45.920 --> 00:12:50.480
<v Gast 2>kannst du sagen, hey, der sieht nur Sachen, die er selber gestartet hat.

00:12:50.640 --> 00:12:54.000
<v Gast 2>Oder der sieht nur, du kannst es dann irgendwie eingrenzen, wie du willst im Grunde,

00:12:54.080 --> 00:12:59.680
<v Gast 2>aber prinzipiell ist so der Gedanke, okay, dieser Prozess sieht jetzt bitte nur ein Subset von dem ganzen

00:12:59.680 --> 00:13:00.000
<v Gast 2>Zeug.

00:13:00.160 --> 00:13:04.480
<v Gast 2>Was schon mal cool ist, weil es geht dem Prozess ja nichts an, was sonst noch so auf deinem System läuft.

00:13:04.800 --> 00:13:07.600
<v Gast 2>Das ist so eine Sache, die es anbietet.

00:13:08.240 --> 00:13:14.400
<v Gast 2>Die zweite Sache, also auch in diesen Namespaces, und also Prozesse ist so,

00:13:14.480 --> 00:13:15.920
<v Gast 2>finde ich, der recht wichtige.

00:13:16.240 --> 00:13:21.280
<v Gast 2>Es gibt dasselbe auch nochmal für Mounts, also ob du sehen kannst, was da irgendwie übers Netzwerk gemountet

00:13:21.280 --> 00:13:26.640
<v Gast 2>wurde oder ob das für dich alles nur aussieht wie ein normales Verzeichnis und das war's.

00:13:27.280 --> 00:13:31.440
<v Gast 2>Es gibt dasselbe für Netzwerkinterface, dass du einfach sagen kannst,

00:13:31.520 --> 00:13:34.720
<v Gast 2>das geht dir nichts an, ob da noch ein VPN-Interface auf meinem Rechner läuft,

00:13:34.880 --> 00:13:40.080
<v Gast 2>sondern der sieht halt nur sein, keine Ahnung, sein eigenes Netzwerkinterface,

00:13:40.240 --> 00:13:41.680
<v Gast 2>das ich ihm da gemacht habe.

00:13:41.760 --> 00:13:44.800
<v Gast 1>Und das dem Container quasi zugewiesen wurde.

00:13:44.960 --> 00:13:48.480
<v Gast 2>Genau, und der darf dann auch nicht auf andere Netzwerkinterfaces irgendwie reinschnüffeln,

00:13:48.560 --> 00:13:52.080
<v Gast 2>um zu schauen, was da für Pakete drauf sind oder wie viele Daten die übertragen,

00:13:52.240 --> 00:13:54.240
<v Gast 2>sondern der sieht halt sein Zeug.

00:13:54.480 --> 00:14:00.160
<v Gast 2>Und das hilft dann auch ein bisschen zu sagen, also wenn du dem dann sein eigenes Netzwerkinterface in seinem

00:14:00.160 --> 00:14:06.720
<v Gast 2>eigenen Container gibst, dann kannst du auch sagen, wie viel hat denn dieser Container mit dem Prozess da drin

00:14:06.720 --> 00:14:10.320
<v Gast 2>und allen anderen Prozessen zum Beispiel an Netzwerk-Traffic verursacht.

00:14:10.720 --> 00:14:14.800
<v Gast 2>Und dann gibt es noch so kleinere Sachen, IPC, so Interprozesskommunikation,

00:14:14.880 --> 00:14:18.720
<v Gast 2>da gibt es irgendwie 18 verschiedene Arten, wie du da normalerweise kommunizieren kannst.

00:14:18.960 --> 00:14:21.680
<v Gast 2>Kannst du auch sagen, der darf jetzt nicht einfach mit anderen reden.

00:14:21.840 --> 00:14:28.800
<v Gast 2>Und dasselbe kannst du für so Timesharing und Kernel-Zeug,

00:14:29.120 --> 00:14:31.360
<v Gast 2>welche Version, kannst du alles irgendwie angrenzen.

00:14:31.440 --> 00:14:32.480
<v Unbekannt>Das sind Namespaces.

00:14:32.640 --> 00:14:36.000
<v Gast 2>Und das ist so eine Sache, die Docker recht einfach für dich macht.

00:14:36.400 --> 00:14:38.560
<v Gast 2>Bedeutet, das ist aber nur Sichtbarkeit.

00:14:38.720 --> 00:14:43.200
<v Gast 2>Also du kannst dann nicht sagen, ja, aber der darf jetzt zwar Prozesse starten,

00:14:43.280 --> 00:14:45.760
<v Gast 2>aber der darf nicht mein komplettes CPU aufbrauchen.

00:14:45.920 --> 00:14:47.440
<v Gast 2>Das hat mit Namespaces nichts zu tun.

00:14:47.520 --> 00:14:51.520
<v Gast 2>Das ist eigentlich nur ein bisschen Isolation und ein bisschen Sichtbarkeit.

00:14:52.000 --> 00:14:53.680
<v Gast 2>Das ist so eine Geschichte.

00:14:54.880 --> 00:14:55.680
<v Gast 2>Genau.

00:14:56.720 --> 00:15:03.360
<v Gast 2>Die zweite sind, ich glaube, das ist so eine der wichtigeren Sachen, gerade wenn man das schon sagen.

00:15:03.600 --> 00:15:08.400
<v Gast 2>Genau, du hast ja gesagt, ich habe da mehrere Webseiten zum Beispiel auf dem selben Server laufen oder mehrere

00:15:08.400 --> 00:15:09.120
<v Gast 2>Anwendungen.

00:15:09.440 --> 00:15:11.440
<v Gast 2>Control Groups, die C-Groups.

00:15:12.640 --> 00:15:15.120
<v Gast 2>Das hat Linux schon vor einiger Zeit.

00:15:16.000 --> 00:15:22.240
<v Gast 2>Die zweite Version C-Groups V2 ist, glaub, auch schon vor zwei Jahren wahrscheinlich irgendwann mal

00:15:22.560 --> 00:15:23.760
<v Gast 2>stable geworden.

00:15:24.640 --> 00:15:29.600
<v Gast 2>Auf jeden Fall C-Groups erlauben dir Ressourcen zu beschränken.

00:15:29.760 --> 00:15:34.640
<v Gast 2>Und mit V2 kannst du wesentlich mehr mit V1 machen, aber da kannst du quasi sagen,

00:15:35.360 --> 00:15:42.080
<v Gast 2>dieser folgende Prozess, den ich hier vor mir habe, darf ab sofort nur noch so und so viel

00:15:42.400 --> 00:15:47.680
<v Gast 2>RAM verbrauchen, der darf nur noch so und so viel CPU verbrauchen, der darf nur noch so und so viel,

00:15:48.480 --> 00:15:53.120
<v Gast 2>keine Ahnung, I.O., generischen I.O., Block-IO oder Netzwerk-IO.

00:15:53.600 --> 00:15:56.400
<v Gast 2>Kannst dir alles einschränken und kannst ja auch rechts, also kannst du sagen,

00:15:56.480 --> 00:16:02.560
<v Gast 2>ja, der kann dann irgendwie zum Beispiel um die Latenz niedrig zu halten von anderen,

00:16:02.640 --> 00:16:07.200
<v Gast 2>kannst du halt sagen, okay, der darf dann ein bisschen mehr, aber wenn die anderen leiden,

00:16:07.280 --> 00:16:08.080
<v Gast 2>dann wieder ein bisschen weniger.

00:16:08.240 --> 00:16:09.440
<v Gast 2>Und du kannst alles Mögliche machen.

00:16:09.520 --> 00:16:11.200
<v Gast 2>Das ist also recht cool.

00:16:11.440 --> 00:16:17.680
<v Gast 2>Und zwischen V1 und V2 ist ganz interessant, dass V1 hatte so die,

00:16:17.920 --> 00:16:22.000
<v Gast 2>das Setup war eher, dass du gesagt hast, okay, Netzwerkbeschränkung.

00:16:22.080 --> 00:16:27.440
<v Gast 2>Ist so der oberste, wenn du es so als Baum vorstellst, ganz oben hattest du dann deine verschiedenen

00:16:27.440 --> 00:16:33.760
<v Gast 2>Ressourcen, hast du ein Netzwerk gesagt und dann sagst du, okay, Prozess 1 darf so und so viel verwenden hier

00:16:33.760 --> 00:16:34.320
<v Gast 2>und da.

00:16:34.480 --> 00:16:40.080
<v Gast 2>Und wenn du dann Disk für Prozess 1 beschränken wolltest, musstest du in Disk gehen und dann danach Prozess 1.

00:16:40.320 --> 00:16:42.400
<v Unbekannt>War ein bisschen ein funky Setup, weil du eigentlich.

00:16:43.120 --> 00:16:46.720
<v Gast 1>Also es würde man jetzt anders erwarten, weil im Normalfall würde man ja da eher denken,

00:16:46.800 --> 00:16:53.280
<v Gast 1>ach, ich würde doch jetzt irgendwie in den Teil vom Baum des Prozesses rein und dann sagen,

00:16:53.360 --> 00:16:56.240
<v Gast 1>ach, jetzt mach mal hier Netzwerk, mach mal hier Disk-In-Programm.

00:16:56.320 --> 00:16:57.920
<v Gast 2>Das ist tatsächlich auch C-Groups V2.

00:16:58.160 --> 00:17:04.880
<v Gast 2>Also V2 sieht dann so aus, es ist ein bisschen angenehmer zu managen und du kannst irgendwelche,

00:17:05.120 --> 00:17:08.320
<v Gast 2>also du kannst pro Thread, also du musst nicht mal mehr pro Prozessor,

00:17:08.400 --> 00:17:09.920
<v Gast 2>sondern kannst du noch ein bisschen weiter runter gehen.

00:17:10.080 --> 00:17:12.800
<v Gast 2>Biete dir also die Möglichkeit, an das alles einzuschränken.

00:17:13.280 --> 00:17:15.680
<v Gast 2>So siehst du zum Beispiel auch, wenn du bei Docker kannst du sagen,

00:17:15.760 --> 00:17:18.240
<v Gast 2>hier, der kriegt einen CPU-Core und das war's dann bitte.

00:17:18.560 --> 00:17:20.560
<v Gast 2>Das kannst du alles über C-Groups regeln.

00:17:20.720 --> 00:17:25.520
<v Gast 2>Also Sichtbarkeit, Ressourcenverbrauch und die zwei anderen Sachen,

00:17:25.600 --> 00:17:30.480
<v Gast 2>die Docker eigentlich so auch noch abnimmt.

00:17:30.560 --> 00:17:36.400
<v Gast 2>Also das ganze Zeug kannst du auch selber einrichten, aber ja, dauert eine Weile, das dann so zu machen.

00:17:37.440 --> 00:17:41.040
<v Gast 2>Docker bietet dir auch ein Union-File-System an.

00:17:41.200 --> 00:17:46.960
<v Gast 2>Bedeutet, du kannst dann quasi so mehrere Dateisysteme, Hierarchien übereinander legen und es sieht dann aus

00:17:46.960 --> 00:17:48.560
<v Gast 2>wie ein großes Dateisystem.

00:17:49.280 --> 00:17:51.520
<v Gast 2>Das also benutzt Docker ganz extrem.

00:17:51.760 --> 00:17:54.400
<v Gast 1>Ich glaube, warum das wichtig ist, da können wir dann später mal drüber reden,

00:17:54.480 --> 00:17:58.880
<v Gast 1>wenn wir über Docker-Files reden oder über die Art und Weise, wie man Docker-Container baut oder

00:17:58.880 --> 00:18:00.480
<v Gast 1>Docker-Images, besser gesagt.

00:18:01.520 --> 00:18:04.720
<v Gast 2>Und würde ich sagen, redet man nachher drüber, aber generell ist die Idee einfach,

00:18:04.800 --> 00:18:11.680
<v Gast 2>dass du verschiedene Dateisysteme, Hierarchien quasi übereinander legen kannst und dann am

00:18:11.680 --> 00:18:15.120
<v Gast 2>Ende sieht es aus wie ein großes Dateisystem, aber du kannst die dann teilweise,

00:18:15.200 --> 00:18:19.200
<v Gast 2>wenn du willst, kannst du sie wegwerfen, du kannst alle, alles, wenn jemand reinschreibt,

00:18:19.280 --> 00:18:23.760
<v Gast 2>dann schreib der nicht in dein bestehendes System, sondern schreib in ein extra Dateisystem.

00:18:23.920 --> 00:18:24.800
<v Gast 2>Das ist aber ausgedacht.

00:18:24.880 --> 00:18:27.760
<v Gast 2>Das wär's genau, kannst du cachen, kannst du machen, was du willst.

00:18:28.000 --> 00:18:34.480
<v Gast 2>Und da hat Docker nicht nur eins, also für C-Groups und Namespaces hast du halt C-Groups und Namespaces.

00:18:34.720 --> 00:18:39.680
<v Gast 2>Diese Union-File-Systeme unterstützt Docker mehrere und hat aber auch über die Jahre irgendwie ihren Default

00:18:39.680 --> 00:18:40.240
<v Gast 2>geändert.

00:18:40.400 --> 00:18:46.320
<v Gast 2>Das geht von AUFS über ButterFS, VFS, Device Mapper.

00:18:46.880 --> 00:18:50.160
<v Gast 2>Also gibt es verschiedene Möglichkeiten, das Ganze so einzurichten.

00:18:51.600 --> 00:18:56.560
<v Gast 1>Hast du da so ein bisschen einen Überblick, was da so die Unterschiede sind, wenn ich mal fragen darf?

00:18:56.720 --> 00:18:58.080
<v Gast 1>Also ich weiß es nicht, dass es.

00:18:58.480 --> 00:19:04.560
<v Gast 2>Die sind teilweise ist es einfach nur so, wie sichtbar sie wirklich für ein Kernel sind.

00:19:04.960 --> 00:19:10.560
<v Gast 2>Also ButterFS ist halt so standardneues Dateisystem und es kann auch diese Snapshots und Overlay-Geschichten

00:19:10.560 --> 00:19:11.760
<v Gast 2>quasi ganz gut machen.

00:19:13.440 --> 00:19:15.360
<v Gast 2>Performance-Geschichten sind nach hinten dran.

00:19:15.440 --> 00:19:19.200
<v Gast 2>Du musstest teilweise, ich kann mich noch erinnern, ich glaube, AUFS musstest du immer noch ein extra

00:19:19.200 --> 00:19:22.000
<v Gast 2>Kernel-Modul kompilieren am Anfang.

00:19:22.160 --> 00:19:26.080
<v Gast 2>Wobei ich habe, keine Ahnung Ahnung, weil ich es halt auch nur irgendwie so hobbymäßig verwende.

00:19:26.800 --> 00:19:28.960
<v Gast 2>Aber das blieb bei mir so hängen.

00:19:29.280 --> 00:19:31.040
<v Gast 2>Und da können wir nachher noch drüber reden.

00:19:31.120 --> 00:19:34.240
<v Gast 2>Und das Letzte, was es so ist, ist dieses Containerformat.

00:19:34.400 --> 00:19:41.120
<v Gast 2>Also wie du, wenn du alle die anderen Technologien hast, wie du die quasi alle zusammen

00:19:41.120 --> 00:19:46.000
<v Gast 2>mergen kannst in eine, ich sag mal, Konfigurationseinheit,

00:19:46.080 --> 00:19:49.600
<v Gast 2>wie du das dann quasi auf die Festplatte kriegst.

00:19:49.680 --> 00:19:55.760
<v Gast 2>Diese ganzen Settings und diese ganzen Daten, die du dann da drin auch noch speichern willst.

00:19:55.840 --> 00:19:58.320
<v Gast 2>Und da bietet Docker halt Lib-Container an.

00:19:58.400 --> 00:19:59.120
<v Gast 2>Das ist so.

00:19:59.690 --> 00:20:03.690
<v Gast 2>Generisch des Standardformates, die haben.

00:20:03.850 --> 00:20:08.970
<v Gast 2>Sie sagen, in Zukunft kann es auch sein, dass sie vielleicht noch Jails und Zones irgendwie benutzen wird.

00:20:09.530 --> 00:20:15.370
<v Gast 2>Aber aktuelle Slip-Container mit den ganzen Linux-Technologien halt so an und für sich der Standard.

00:20:15.930 --> 00:20:16.330
<v Gast 2>Genau.

00:20:16.490 --> 00:20:18.170
<v Gast 2>Jetzt habe ich super viel geredet.

00:20:21.050 --> 00:20:26.090
<v Gast 1>Ja, ich weiß nicht, wir können ja mal kurz über Docker-Files reden.

00:20:26.330 --> 00:20:30.570
<v Gast 1>Das ist so mehr oder weniger die, wie beschreibe ich das am besten?

00:20:30.810 --> 00:20:37.610
<v Gast 1>Docker-File ist im Endeffekt eine Textdatei, in der man

00:20:38.250 --> 00:20:40.970
<v Gast 1>beschreibt, wie der Container gebaut werden soll.

00:20:41.050 --> 00:20:43.850
<v Gast 1>Oder besser gesagt, wie das Image des Containers gebaut werden soll.

00:20:44.010 --> 00:20:50.490
<v Gast 1>Man sagt, ja, hier hast du, nimm doch mal diese Ordner auf der Festplatte und kopiere die in den Container.

00:20:50.650 --> 00:20:54.730
<v Gast 1>Und das ist dann quasi ein Layer dieses File-Systems, dieses Unit-File-Systems,

00:20:54.890 --> 00:20:56.170
<v Gast 1>von dem wir gerade geredet haben.

00:20:56.410 --> 00:20:58.970
<v Gast 1>Dann sagt man auch, ich habe jetzt hier ein paar Dependencies.

00:20:59.130 --> 00:21:04.650
<v Gast 1>Vielleicht möchte ich irgendwelche Third-Party-Libraries haben oder vielleicht brauche ich irgendwelche

00:21:04.970 --> 00:21:06.490
<v Gast 1>Kommandozeilen-Tools.

00:21:06.570 --> 00:21:10.010
<v Gast 1>Ich möchte vielleicht irgendwie H-Top haben oder aus irgendwelchen Gründen.

00:21:10.250 --> 00:21:14.810
<v Gast 1>Und dann hast du halt hier ein Run-Kommando, dann hast du hier irgendwie Upgate-Install, was auch immer.

00:21:16.090 --> 00:21:20.010
<v Gast 1>Interessanterweise habe ich da schon auch schon oft gesehen, dass es diverse Leute falsch machen,

00:21:20.090 --> 00:21:26.810
<v Gast 1>weil jeder, wie gesagt, jedes Run-Kommando in diesem Container ist ein neuer Layer,

00:21:27.210 --> 00:21:32.250
<v Gast 1>der auch Teil des Docker-Images wird, was da später rauskommt.

00:21:32.330 --> 00:21:35.050
<v Gast 1>Und viele Leute machen dann halt hier, oh, ich mache doch jetzt hier mal,

00:21:35.210 --> 00:21:37.930
<v Gast 1>keine Ahnung, ich muss irgendwelche Sachen installieren.

00:21:40.250 --> 00:21:44.730
<v Gast 1>Dann sagen wir mal, ich brauche jetzt irgendwelche Dependencies,

00:21:45.290 --> 00:21:50.090
<v Gast 1>ich installiere die mit Upget, dann muss ich irgendwas bauen,

00:21:50.410 --> 00:21:55.530
<v Gast 1>was diese Dependencies braucht, sagen wir mal, ich muss jetzt irgendwas kompilieren und nachdem man das gebaut

00:21:55.690 --> 00:21:58.010
<v Gast 1>hat, braucht man diese Dependencies eigentlich nicht mehr.

00:21:58.090 --> 00:22:00.650
<v Gast 1>Und dann habe ich schon Docker-Files gesehen, die dann sagen, oh ja,

00:22:00.810 --> 00:22:05.050
<v Gast 1>ja, Upget-Install, ne, ne, ne, und dann lass man den Build-Command laufen,

00:22:05.210 --> 00:22:09.130
<v Gast 1>im nächsten Run-Command und dann deinstalliert diese Sachen wieder.

00:22:09.770 --> 00:22:15.530
<v Gast 1>Was allerdings nicht klar ist, ist, dass diese ganzen, naja,

00:22:15.770 --> 00:22:20.890
<v Gast 1>diese ganzen Dependencies ja immer noch in dem alten Layer gecached werden,

00:22:20.970 --> 00:22:21.530
<v Gast 1>quasi.

00:22:21.850 --> 00:22:28.170
<v Gast 1>Und Teil des Docker-Images sind und dann halt diese Größe des

00:22:28.170 --> 00:22:30.570
<v Gast 1>Docker-Images deutlich aufblasen.

00:22:30.810 --> 00:22:35.210
<v Gast 1>Also darum sollte man halt sich auch klar machen, was man da so tut.

00:22:36.010 --> 00:22:40.970
<v Gast 1>Ja, im Endeffekt ist es eine relativ einfache, ich glaube, man braucht da ein relativ einfaches Format,

00:22:41.050 --> 00:22:45.450
<v Gast 1>aber braucht da jetzt auch nicht super viele Attribute,

00:22:45.530 --> 00:22:49.610
<v Gast 1>die man da irgendwie setzen muss oder beziehungsweise Kommandos, die man da jetzt irgendwie absetzen muss.

00:22:49.690 --> 00:22:54.650
<v Gast 1>Man hat irgendwie ein CMD, das ist dann mehr oder weniger ja, was ist denn der Prozess,

00:22:54.730 --> 00:22:56.410
<v Gast 1>der in diesem Container laufen soll.

00:22:56.810 --> 00:22:59.850
<v Gast 1>Es gibt irgendwie ein Entry Point, das ist im Normalfall so eine Sache mit,

00:23:00.170 --> 00:23:06.090
<v Gast 1>das ist normalerweise ein Rapper-Skript um den CMD außen rum.

00:23:06.490 --> 00:23:10.010
<v Gast 1>Kann man zum Beispiel benutzen, wenn man jetzt sagt, ach, ich habe jetzt hier irgendwie einen Container,

00:23:10.090 --> 00:23:14.330
<v Gast 1>aber der braucht eine Datenbank, aber die Datenbank, die muss auch erst hochfahren,

00:23:14.410 --> 00:23:17.530
<v Gast 1>wenn der Container zum Beispiel in ein Development-Setup gestartet wird.

00:23:17.610 --> 00:23:22.650
<v Gast 1>Das heißt, man hat vielleicht die Datenbank in einem anderen Container laufen und linkt die in diesen

00:23:22.650 --> 00:23:26.570
<v Gast 1>Docker-Container rein, sodass die beiden, sodass der, sagen wir mal,

00:23:26.650 --> 00:23:29.690
<v Gast 1>wir haben eine, keine Ahnung, einen WordPress.

00:23:30.970 --> 00:23:35.530
<v Gast 1>Und dieses WordPress greift auf eine ISQL-Datenbank zu, die in einem anderen Container läuft.

00:23:35.850 --> 00:23:40.330
<v Gast 1>Dann kann es halt passieren, dass man irgendwie vielleicht dagegen irgendwelche Tests direkt laufen lassen

00:23:40.330 --> 00:23:41.530
<v Gast 1>will oder was auch immer.

00:23:42.090 --> 00:23:49.050
<v Gast 1>Und es könnte halt zu Fehlern kommen, wenn der WordPress-Container startet und versucht auf die Datenbank

00:23:49.050 --> 00:23:51.690
<v Gast 1>zuzugreifen, bevor der Datenbank-Container oben ist.

00:23:51.930 --> 00:23:54.970
<v Gast 1>Und dann in so einem Entry-Point kann man dann halt solche Sachen machen,

00:23:55.050 --> 00:24:01.370
<v Gast 1>wie ja, warte doch, warte doch mal drauf, bis der Datenbankserverreichbar ist und dann starte ich jetzt die

00:24:01.370 --> 00:24:02.650
<v Gast 1>Applikation und solche Sachen.

00:24:03.530 --> 00:24:09.530
<v Gast 1>Oder man muss irgendwelche zusätzlichen Ordner im laufenden Container erzeugen,

00:24:09.690 --> 00:24:13.290
<v Gast 1>die jetzt nicht Teil vom Bildprozess sein sollen oder solche Sachen.

00:24:13.770 --> 00:24:14.810
<v Gast 1>Kann man sich mal nachlesen.

00:24:14.890 --> 00:24:19.450
<v Gast 1>Also wir haben hier auch die Docker-File-Referenz verlinkt.

00:24:20.570 --> 00:24:23.290
<v Gast 1>Ist auf jeden Fall ganz cool, was man so machen kann.

00:24:25.210 --> 00:24:29.690
<v Gast 2>Was ihr alle glaubt, gemeinsam haben, ist auch, dass sie quasi, du brauchst ein Basis-Image.

00:24:29.770 --> 00:24:34.810
<v Gast 2>Also du musst ein Ding sagen, das ganz am Anfang ist, und darauf baust du dann all diese Kommandos und so an.

00:24:35.130 --> 00:24:38.010
<v Gast 1>Ich habe tatsächlich mir auch noch nie angeguckt, wie man Basis-Image baut,

00:24:38.170 --> 00:24:43.930
<v Gast 1>interessanterweise, weil also man kann halt also Docker-Images,

00:24:44.250 --> 00:24:51.130
<v Gast 1>beziehungsweise in einem Docker-File kann man Basis-Image angeben, aber man kann dann quasi auch von anderen

00:24:51.450 --> 00:24:55.850
<v Gast 1>Basis-Images, die man selber baut, in Anführungszeichen erben.

00:24:55.930 --> 00:24:59.610
<v Gast 1>Ich weiß nicht, ob das der richtige Begriff ist, also man kann die halt ableiten von anderen Images.

00:24:59.690 --> 00:25:01.450
<v Gast 1>Das heißt, man kann die halt auch wieder layern.

00:25:01.610 --> 00:25:03.610
<v Gast 1>Ich habe das schon oft gesehen in der Form von, dass man.

00:25:03.770 --> 00:25:10.250
<v Gast 1>Man hat jetzt zum Beispiel in Debian irgendwas, Basis-Image und das wird dann verwendet von vielleicht einem

00:25:10.250 --> 00:25:15.370
<v Gast 1>Node.js-Basis-Image und in einem Node.js-Basis-Image, dann hast du halt schon mal die,

00:25:15.610 --> 00:25:20.730
<v Gast 1>hast ein Node installiert, du hast NPM installiert und du hast vielleicht noch irgendwie ein paar

00:25:20.810 --> 00:25:24.010
<v Gast 1>Abhängigkeiten, die jetzt Node und NPM brauchen, installiert.

00:25:24.170 --> 00:25:30.490
<v Gast 1>Und dann hast du halt wieder vielleicht ein Anwendungs-Image, was dann von diesem Node-Image

00:25:30.810 --> 00:25:34.570
<v Gast 1>erbt oder was davon abgeleitet wird.

00:25:35.130 --> 00:25:40.650
<v Gast 1>So kann man die halt auch, sagen wir mal, immer komplexer machen und immer mehr spezifischere

00:25:41.610 --> 00:25:44.970
<v Gast 1>Abhängigkeiten in den Container mit einbauen.

00:25:45.210 --> 00:25:49.370
<v Gast 2>Ja, ich glaube, standardmäßig ist es halt auch so, dass du dein Container,

00:25:49.450 --> 00:25:55.850
<v Gast 2>also quasi, wenn du ein Docker-Image hast, dann sollte das innerhalb von deinem Docker-Image

00:25:56.010 --> 00:25:59.530
<v Gast 2>quasi nichts von deinem System sehen, auf dem das ausgeführt wird.

00:25:59.690 --> 00:26:02.810
<v Gast 2>Du kannst explizit sagen, ich hätte gerne einen Mount, einen Bind-Mount,

00:26:02.890 --> 00:26:08.250
<v Gast 2>bitte nimm doch mal dieses Directory von hier, von meiner Festplatte und mach das verfügbar im Container als

00:26:08.250 --> 00:26:10.810
<v Gast 2>irgendwie slash extern oder sowas in der Art.

00:26:10.970 --> 00:26:17.130
<v Gast 1>Oder sowas wie Slash Development oder so, wenn man jetzt sagt, man will irgendwie lokal eine Anwendung

00:26:17.210 --> 00:26:22.010
<v Gast 1>entwickeln, will da drauf rumeditieren, während die Anwendung im Docker-Container läuft,

00:26:22.650 --> 00:26:28.890
<v Gast 1>dann kann man halt sagen, ja, ich tue doch jetzt vielleicht mal meinen Folder mit meinen Source-Code-Files in

00:26:28.890 --> 00:26:33.290
<v Gast 1>den Docker-Container reinmounten und hat dann vielleicht im Docker-Container irgendein Skript laufen,

00:26:33.370 --> 00:26:38.330
<v Gast 1>was irgendwie File-Systemänderungen erkennt und dann automatisch einen Server neu startet oder was irgendwie

00:26:38.410 --> 00:26:40.330
<v Gast 1>so Hotcode-Reloading oder sowas macht.

00:26:40.570 --> 00:26:46.330
<v Gast 2>Genau, aber standardmäßig ist quasi, also diese Basis-Images müssen halt ein

00:26:46.330 --> 00:26:48.330
<v Gast 2>Standard-Linux-Image sein.

00:26:48.490 --> 00:26:53.210
<v Gast 2>Bedeutet, wenn irgendjemand in deinem Docker-Container LS, oder LS ist vielleicht ein blödes Beispiel,

00:26:53.370 --> 00:26:57.530
<v Gast 2>aber wenn irgendjemand deinem Docker-Container zum Beispiel Ping aufrufen will oder wenn irgendjemand,

00:26:58.170 --> 00:27:03.450
<v Gast 2>keine Ahnung, Set oder Org irgendwas machen will, dann muss dein Container die Dinger halt mitbringen.

00:27:03.530 --> 00:27:07.530
<v Gast 2>Weil das ist Standard, es ist halt irgendein Programm, das in deinem Dateisystem drin ist.

00:27:07.690 --> 00:27:12.890
<v Gast 2>Und es gibt dann so Geschichten wie Alpine Linux, glaube ich, ist so eins der beliebtesten,

00:27:12.970 --> 00:27:15.530
<v Gast 2>was dann ein ganz, ganz dünnes Betriebssystem ist.

00:27:15.610 --> 00:27:21.770
<v Gast 2>Also da kommt kein Alsa mit und da kommt kein XFS-Prox mit und kein Checkdisk und kein gar nichts.

00:27:21.930 --> 00:27:25.130
<v Gast 2>Sondern nur so die Basisdinger, die du halt in Linux erwarten würdest,

00:27:25.210 --> 00:27:30.170
<v Gast 2>eventuell eine Bash-Shell, irgendwelche Shell-Sachen drin laufen lassen willst oder.

00:27:30.490 --> 00:27:36.890
<v Gast 1>Ich bin mir gerade gar nicht mehr sicher, ob Alpine Linux überhaupt eine volle Bash mitbringt.

00:27:37.130 --> 00:27:42.970
<v Gast 1>Also ich weiß, dass die ihre ganzen Binaries gegen so eine abgespeckte Lip

00:27:43.130 --> 00:27:44.170
<v Gast 1>Clinken.

00:27:45.450 --> 00:27:48.170
<v Gast 2>Like Muscle oder Mulib C.

00:27:48.490 --> 00:27:50.250
<v Gast 2>Ich glaube, sie haben BusyBox, haben sie.

00:27:50.490 --> 00:27:54.090
<v Gast 1>Ja, ja, ich glaube, die haben dann BusyBox statt dem ganzen hier.

00:27:54.730 --> 00:27:54.970
<v Gast 1>Ja.

00:27:55.690 --> 00:27:56.490
<v Gast 1>BusyBox ist so.

00:27:56.730 --> 00:27:57.130
<v Gast 1>Was auch immer.

00:27:57.530 --> 00:28:03.610
<v Gast 2>Für die Leute, die es nicht wissen, anstatt dass du irgendwie 18 Programme reinkompilierst und die alle

00:28:03.610 --> 00:28:06.650
<v Gast 2>entweder statisch kompilierst oder die Libraries noch mitbringst.

00:28:07.050 --> 00:28:12.410
<v Gast 2>BusyBox ist so ein Programm, je nachdem, wie BusyBox aufgerufen wird,

00:28:12.490 --> 00:28:16.970
<v Gast 2>also wenn du BusyBox irgendwie umbenennst in LS oder in WGET oder in,

00:28:17.610 --> 00:28:24.170
<v Gast 2>keine Ahnung, Z oder sowas in der Art, hat BusyBox quasi so einen riesigen Switch-Case drin,

00:28:24.330 --> 00:28:26.730
<v Gast 2>wo sie quasi schauen, so, hey, wie heiß ich denn?

00:28:26.810 --> 00:28:28.010
<v Gast 2>Ach, WGET.

00:28:28.250 --> 00:28:28.970
<v Gast 2>Ja gut, dann.

00:28:29.290 --> 00:28:30.090
<v Gast 2>Dann mache ich jetzt das.

00:28:30.170 --> 00:28:31.290
<v Unbekannt>Dann lade ich jetzt ein Teil runter.

00:28:31.370 --> 00:28:32.010
<v Unbekannt>Dann mache ich das.

00:28:32.090 --> 00:28:38.090
<v Gast 2>Und also es ist nicht das originale W-Get, sondern das ist so, wenn man eine HTTP

00:28:38.570 --> 00:28:43.290
<v Gast 2>quasi URL als erstes Argument hat, dann lädt er die halt irgendwie runter,

00:28:43.370 --> 00:28:47.290
<v Gast 2>aber also bei weitem nicht das Originale, also unterstützt halt ein paar Optionen.

00:28:47.370 --> 00:28:49.290
<v Gast 2>Und so ist es quasi mit allen Tools.

00:28:49.370 --> 00:28:53.530
<v Gast 2>Und du hast dann quasi eine einzige Datei und einen ganzen Haufen Sim-Links,

00:28:53.770 --> 00:28:58.090
<v Gast 2>die dann quasi sagen, ach ja, Echo und LS und WGet,

00:28:58.410 --> 00:28:59.930
<v Gast 2>die sind ja alle Busybox.

00:29:00.010 --> 00:29:02.810
<v Gast 2>Und wenn dann jemand irgendwie LS eingibt, dann ist es halt so, ah ja,

00:29:02.890 --> 00:29:06.330
<v Gast 2>okay, BusyBox startet jetzt und macht sein kleines Zeug.

00:29:06.490 --> 00:29:08.730
<v Gast 2>Hat den Vorteil, dass es alles recht klein ist.

00:29:08.890 --> 00:29:14.410
<v Gast 2>Und ich sag mal, du sollst, also im Normalfall war immer so das Best Practice,

00:29:14.490 --> 00:29:18.170
<v Gast 2>dass du in diesem Container, da sollst du kein Betriebssystem haben.

00:29:18.330 --> 00:29:24.490
<v Gast 2>Da läuft dein Prozess und ich sag mal, das Minimum, was dein Prozess zum Laufen braucht, ist da auch drin.

00:29:24.650 --> 00:29:27.690
<v Gast 2>Und irgendwann, dann gab es früher immer so riesige Blockdiskussionen,

00:29:27.770 --> 00:29:32.650
<v Gast 2>so, ja, was ist, wenn da jemand SSH in den Container macht, dass man darauf connecten kann,

00:29:32.730 --> 00:29:34.730
<v Gast 2>das ist ja doof und bla.

00:29:36.250 --> 00:29:40.170
<v Gast 2>Prinzipiell sollte also kein volles Betriebssystem da drin sein.

00:29:40.490 --> 00:29:43.610
<v Gast 1>Also ich glaube, das ist auch so ein Umdenken, was bei mir eine Weile gebraucht hat,

00:29:43.690 --> 00:29:46.330
<v Gast 1>weil ich habe mir vorher, keine Ahnung, fünf, sechs Jahren, ich weiß nicht,

00:29:46.410 --> 00:29:49.210
<v Gast 1>ob es das da schon gab vielleicht, aber ich habe mir vor ein paar Jahren,

00:29:49.290 --> 00:29:53.290
<v Gast 1>wahrscheinlich schon, als Docker noch relativ frisch war, habe ich mir das mal angeguckt und habe mir das dann

00:29:53.290 --> 00:29:54.010
<v Gast 1>halt auch überlegt.

00:29:54.090 --> 00:29:59.850
<v Gast 1>Und das ist sozusagen so, ja, und ich habe da da jetzt so einen Container laufen und wie verbinde ich mich

00:29:59.850 --> 00:30:04.010
<v Gast 1>jetzt da mit SSH rein und wie installiere ich jetzt da meinen Datenbankserver und was ja wie,

00:30:04.090 --> 00:30:06.890
<v Gast 1>wenn ich den Container neu starte, ist alles, ist alles wieder weg.

00:30:07.850 --> 00:30:09.610
<v Gast 1>Das haben wir, glaube ich, auch noch nicht erwähnt.

00:30:09.690 --> 00:30:15.130
<v Gast 1>Also diese Container, die sind quasi, man sagt so schön, immutable, also die sind unveränderbar.

00:30:15.690 --> 00:30:20.490
<v Gast 1>Das heißt, naja, wenn du jetzt mal einen Datenbankserver in einem Container laufen lässt,

00:30:20.650 --> 00:30:23.530
<v Gast 1>dann kannst du schon irgendwie die Daten in diese Datenbank reinschreiben,

00:30:23.610 --> 00:30:26.650
<v Gast 1>du kannst die verändern, du kannst alle möglichen Dinge damit machen,

00:30:26.730 --> 00:30:30.970
<v Gast 1>aber wenn der Container halt dann irgendwann mal hops geht oder neu gestartet wird oder du eine neue Version

00:30:30.970 --> 00:30:33.530
<v Gast 1>deployst, dann sind die Daten halt weg.

00:30:34.090 --> 00:30:38.890
<v Gast 1>Also die Daten, die lokal im Container auf der Platte liegen.

00:30:39.210 --> 00:30:39.530
<v Gast 1>Genau.

00:30:40.650 --> 00:30:46.170
<v Gast 2>Diese Union-Systeme, die dann quasi alle Schreibzugriffe gehen halt irgendwo in den Scrap-Space,

00:30:46.250 --> 00:30:48.010
<v Gast 2>sagen wir mal, und der ist dann weg beim nächsten Mal.

00:30:48.490 --> 00:30:53.130
<v Gast 1>Also was man bei sowas dann halt macht, wenn man irgendwie, man nennt sowas dann Stateful Services,

00:30:53.210 --> 00:30:59.290
<v Gast 1>was man damit dann macht, ist, im Normalfall mountet man dann irgendwelche Ordner,

00:30:59.370 --> 00:31:05.290
<v Gast 1>die persistent auf dem Host-Rechner abgelegt sind, die mountet man dann in den Container rein,

00:31:05.370 --> 00:31:08.170
<v Gast 1>dass wenn man den demnächst mal startet, dass die ganzen, sagen wir mal,

00:31:08.330 --> 00:31:10.250
<v Gast 1>Datenbankdateien noch da sind.

00:31:10.810 --> 00:31:12.730
<v Gast 2>Ja, oder auch Konfigurationseinstellen.

00:31:12.970 --> 00:31:15.210
<v Gast 1>Das macht irgendwie Sinn, wenn wir das irgendwie so erklären.

00:31:15.690 --> 00:31:19.130
<v Gast 2>Nee, ich glaube, es ist also so Konfigurationseinstellungen und alles,

00:31:19.210 --> 00:31:22.250
<v Gast 2>was halt noch da sein sollte, ist dann außerhalb vom Container.

00:31:22.330 --> 00:31:26.330
<v Gast 2>Was ganz cool ist, weil wenn du dann quasi sagst, ach, jetzt muss ich aber die Version von der Datenbank

00:31:26.330 --> 00:31:31.050
<v Gast 2>upgraden, dann kannst du einen zweiten Container mit der neuen Version laufen lassen,

00:31:31.290 --> 00:31:38.170
<v Gast 2>zeig es einfach auf dieselben dieselben Ordner und theoretisch sollte der

00:31:38.170 --> 00:31:41.690
<v Gast 2>dann beim Hochkommen einfach sagen, okay, hier ist ja das sind Daten und Configs,

00:31:41.770 --> 00:31:44.250
<v Gast 2>lässt du laufen, kannst du schauen, funktioniert noch alles.

00:31:44.730 --> 00:31:47.850
<v Gast 2>Der kann natürlich dir alle Dateien löschen, wenn er irgendwie doof drauf ist,

00:31:48.090 --> 00:31:54.810
<v Gast 2>aber prinzipiell kannst du so sein Zeug außerhalb vom Container behalten und das ist auch das Einzige,

00:31:54.890 --> 00:31:58.090
<v Gast 2>auf das der Container auf dem Host-System dann zugreifen kann.

00:31:58.730 --> 00:32:03.770
<v Gast 2>Was ganz interessant ist, ist, wenn du gerade gesagt hast, früher, wie verbinde ich mich jetzt auf den

00:32:03.770 --> 00:32:04.570
<v Gast 2>Container?

00:32:04.970 --> 00:32:09.210
<v Gast 2>Das ist immer so eine Geschichte, wo die meisten Leute haben halt noch so,

00:32:09.290 --> 00:32:13.050
<v Gast 2>ja, da hast du ja SSH und dann kannst du LS machen und dich ein bisschen umschauen.

00:32:13.610 --> 00:32:18.090
<v Gast 2>Innerhalb, weil Docker halt nur, ich sag mal,

00:32:18.250 --> 00:32:24.170
<v Gast 2>Standard-Linux-Technologien verwendet, kannst du tatsächlich NS-Enter,

00:32:24.330 --> 00:32:25.850
<v Gast 2>heißt das Kommando, Namespace-Enter.

00:32:26.170 --> 00:32:32.650
<v Gast 2>Linux erlaubt dir, wenn du der Root-Benutzer bist, dich in beliebige Namespaces zu

00:32:33.770 --> 00:32:34.490
<v Gast 2>teleportieren.

00:32:34.650 --> 00:32:38.970
<v Gast 2>Du sagst dann einfach hier, ich würde gerne in den Namespace von diesem Programm gehen.

00:32:39.370 --> 00:32:44.490
<v Gast 2>Bedeutet, du hast dann halt auch nur die Binaries, die das Programm quasi sehen würde und du kannst sagen,

00:32:44.570 --> 00:32:50.170
<v Gast 2>ach, ich würde jetzt aber auch gerne dann dieselben Netzwerkeinstellungen haben wie das Programm und dieselben

00:32:50.170 --> 00:32:51.050
<v Gast 2>IPC-Dinge.

00:32:51.290 --> 00:32:54.010
<v Gast 2>Und du kannst dann tatsächlich in den Container von außen reingehen,

00:32:54.090 --> 00:32:56.010
<v Gast 2>ohne da Software drin installiert zu haben.

00:32:56.250 --> 00:32:59.530
<v Gast 2>Das Problem ist halt, wenn du keine Shell oder sowas in dem Container hast,

00:32:59.610 --> 00:33:01.610
<v Gast 2>wird es wahrscheinlich recht schnell langweilig werden, weil.

00:33:01.770 --> 00:33:02.730
<v Gast 1>Das ist schwierig, ja.

00:33:02.970 --> 00:33:07.850
<v Gast 2>Ja, du musst halt irgendwas ausführen in diesem Container, um dann irgendwie weiterschauen zu können.

00:33:08.170 --> 00:33:09.770
<v Gast 2>Also SSH brauchst du nicht.

00:33:09.930 --> 00:33:12.730
<v Gast 2>Eine Shell wäre vielleicht schon ganz gut, das gebuggen mal.

00:33:13.050 --> 00:33:15.530
<v Gast 1>NS-Enter kannte ich ehrlich gesagt bis jetzt auch noch nicht.

00:33:15.770 --> 00:33:20.730
<v Gast 1>Ich habe das bisher normalerweise immer mit Docker Exacer gemacht,

00:33:20.810 --> 00:33:25.130
<v Gast 1>was ja wahrscheinlich unter der Haube die gleichen Schnittstellen benutzen wird.

00:33:25.370 --> 00:33:27.370
<v Gast 2>Ja, ist tatsächlich auch.

00:33:28.250 --> 00:33:34.010
<v Gast 2>Ich glaube, ich weiß nicht, ob Docker noch irgendwas anderes so theoretisch mitlaufen lässt,

00:33:34.250 --> 00:33:37.210
<v Gast 2>aber ultimativ wird es wahrscheinlich auch nur fancy NS Enter sein.

00:33:38.490 --> 00:33:41.770
<v Gast 2>Und also NS Enter funktioniert für generell alle, auch wenn es jetzt nicht Docker ist,

00:33:41.850 --> 00:33:44.490
<v Gast 2>sondern irgendein anderer Container, kannst du da in diesen Namespace rein,

00:33:44.810 --> 00:33:46.330
<v Gast 2>was ganz praktisch ist.

00:33:47.130 --> 00:33:47.770
<v Gast 2>Genau.

00:33:49.050 --> 00:33:53.770
<v Gast 2>Ja, dass so Basissysteme ein bisschen geredet, wie das gemacht wird normalerweise.

00:33:54.810 --> 00:34:00.010
<v Gast 1>Ja, also was vielleicht ganz cool ist, wo man auch mal drüber reden könnte, wäre Docker Compose.

00:34:01.290 --> 00:34:05.450
<v Gast 1>Das ist ganz nett, das ist nochmal eine Abstraktion auf Docker oben drauf.

00:34:07.050 --> 00:34:10.010
<v Gast 1>Wir sehen hier Turtles all the way down und so.

00:34:10.250 --> 00:34:14.570
<v Gast 1>Das ist nee, also es ist Docker Compose, ist mehr oder weniger, das ist,

00:34:14.650 --> 00:34:18.090
<v Gast 1>glaube ich, ein Python geschrieben, das sind irgendwelche Python-Skripte.

00:34:18.890 --> 00:34:23.770
<v Gast 1>Was das im Endeffekt macht, ist, es bietet einem eine Docker-Compose-Config-Datei an.

00:34:23.850 --> 00:34:25.530
<v Gast 1>Das ist eine YAML-Datei.

00:34:26.810 --> 00:34:32.250
<v Gast 1>Und da kann man dann quasi mehrere Container orchestrieren,

00:34:32.490 --> 00:34:35.210
<v Gast 1>die dann miteinander interagieren sollen.

00:34:35.530 --> 00:34:39.210
<v Gast 1>Also das kann man sich dann so vorstellen, wie man sagt, zum Beispiel,

00:34:39.370 --> 00:34:42.890
<v Gast 1>ich habe jetzt, ich habe irgendwie eine, keine Ahnung, irgendeine PHP-Anwendung,

00:34:42.970 --> 00:34:46.570
<v Gast 1>die ich für irgendwelche Freunde und Bekannten hoste.

00:34:46.890 --> 00:34:50.570
<v Gast 1>Dann kann man da sagen, okay, ich habe jetzt, sagen wir mal, bleib mal bei dem WordPress-Beispiel.

00:34:50.650 --> 00:34:54.170
<v Gast 1>Dann kann man sagen, okay, ich habe da jetzt einen, ich will da lokal irgendwie vielleicht irgendwelche

00:34:54.170 --> 00:34:58.090
<v Gast 1>WordPress-Extensions entwickeln und will das halt dann irgendwie mal laufen lassen,

00:34:58.170 --> 00:35:02.090
<v Gast 1>ohne dass ich jetzt da irgendwie auf meinen Mac verfrickeln muss mit PHP installieren und irgendwelchen

00:35:02.250 --> 00:35:03.370
<v Gast 1>sonstigen Kramm.

00:35:03.770 --> 00:35:05.930
<v Gast 1>Da kann man halt sagen, okay, ich habe jetzt hier vielleicht einen Container,

00:35:06.010 --> 00:35:10.650
<v Gast 1>der lässt meine PHP-Anwendung laufen, sag man mal, das läuft jetzt irgendwie in einem Apache mit irgendwie Mod

00:35:10.650 --> 00:35:11.370
<v Gast 1>PHP.

00:35:13.610 --> 00:35:18.890
<v Gast 1>Da mounte ich dann, dann kannst du sagen, okay, für diesen Container mounte doch mal dieses Dateisystem,

00:35:19.290 --> 00:35:23.050
<v Gast 1>beziehungsweise einen Ordner im Dateisystem, den ich zum Entwickeln benutze,

00:35:23.130 --> 00:35:27.130
<v Gast 1>mounte den doch mal da rein, sodass der zugreifbar ist, sodass ich währenddessen irgendwie,

00:35:27.290 --> 00:35:30.250
<v Gast 1>wenn ich das Zeug laufen lasse, editieren kann.

00:35:30.650 --> 00:35:35.850
<v Gast 1>Dann kann man sagen, okay, dann mach doch diesen Ort,

00:35:36.090 --> 00:35:40.410
<v Gast 1>diesen Container vielleicht mal auf Localhost verfügbar,

00:35:40.650 --> 00:35:44.250
<v Gast 1>dass ich den lokal von meinem Rechner irgendwie benutzen kann.

00:35:44.650 --> 00:35:47.770
<v Gast 1>Dann kann man sagen, okay, dann startet doch mal vielleicht jetzt irgendwie,

00:35:47.850 --> 00:35:53.930
<v Gast 1>was weiß ich, eine MySQL-Datenbank in einem anderen Container und linkt die gegen den

00:35:54.250 --> 00:35:59.450
<v Gast 1>WordPress-Container, dass der WordPress-Container dann quasi darauf zugreifen kann.

00:36:00.010 --> 00:36:03.050
<v Gast 1>Und solche Geschichten, das kann man halt beliebig weit treiben und kann dann halt.

00:36:03.770 --> 00:36:10.170
<v Gast 2>Wenn du Linken sagst, ist es einfach nur hier, die Datenbank lauscht auf diesem Port und macht doch den Port

00:36:10.170 --> 00:36:12.250
<v Gast 2>verfügbar in meinem anderen Container.

00:36:13.130 --> 00:36:15.450
<v Gast 1>Jein, also das sind mehrere Sachen.

00:36:15.610 --> 00:36:22.330
<v Gast 1>Zum einen macht man den Port verfügbar in einem anderen Container und zum anderen

00:36:23.210 --> 00:36:27.770
<v Gast 1>ist das im Normalfall auch, also zumindest bei Docker Compose wird dann irgendwie auch ein Eintrag,

00:36:27.850 --> 00:36:32.330
<v Gast 1>ich glaube, in der, ich weiß nicht, ob das ETC-Hosts ist oder ob die irgendwie lokales DNS benutzen.

00:36:32.410 --> 00:36:34.410
<v Gast 1>Ich habe noch gar nicht genauso hingeguckt, was die da tun.

00:36:34.490 --> 00:36:36.330
<v Gast 1>Auf jeden Fall ist da halt auch ein Hostname erreichbar.

00:36:36.410 --> 00:36:40.650
<v Gast 1>Du kannst dann zum Beispiel sagen, oh, ich gebe jetzt meinen Datenbankkontainer,

00:36:40.810 --> 00:36:46.730
<v Gast 1>gebe ich jetzt den Namen hier, was weiß ich, Datenbankkontainer, und dann kannst du den halt

00:36:47.770 --> 00:36:52.330
<v Gast 1>in deinem WordPress-Container unter diesem Hostnamen auch erreichen.

00:36:53.130 --> 00:37:00.090
<v Gast 1>Und das Linken bedeutet halt im Endeffekt ganz einfach, du gibst dem einen Container die

00:37:00.090 --> 00:37:04.330
<v Gast 1>Möglichkeit, auf den offenen Port des anderen Containers zu connecten,

00:37:05.050 --> 00:37:09.850
<v Gast 1>was der ja im Normalfall nicht könnte, weil da ist ja da diese ganze Prozessisolation und sonst was

00:37:09.850 --> 00:37:10.410
<v Gast 1>dazwischen.

00:37:10.730 --> 00:37:14.890
<v Gast 2>Prinzipiell könntest du auch einfach beide im selben Container laufen lassen,

00:37:15.130 --> 00:37:19.370
<v Gast 2>aber dann müsstest du halt den ganzen RAM-Stier selber einrichten und kannst die nicht einfach irgendwo in

00:37:19.370 --> 00:37:20.890
<v Gast 2>einen MySQL-Container schießen.

00:37:21.050 --> 00:37:21.370
<v Gast 2>Genau.

00:37:21.610 --> 00:37:24.970
<v Gast 2>Und du kannst dann in, wenn du es in zwei verschiedenen Containern hast,

00:37:25.050 --> 00:37:29.210
<v Gast 2>kannst du dann auch sagen, ach ja, und da der MySQL-Container sowieso schon läuft,

00:37:29.450 --> 00:37:33.850
<v Gast 2>kann jetzt nicht nur Frickel-Webseite A in ihrem Container drauf zugreifen,

00:37:33.930 --> 00:37:37.930
<v Gast 2>sondern auch noch der Java-Krebel B, der im anderen Container läuft.

00:37:38.090 --> 00:37:39.610
<v Gast 1>Genau, das könnte man so machen.

00:37:39.930 --> 00:37:40.570
<v Gast 1>Also, ja.

00:37:41.770 --> 00:37:42.330
<v Gast 1>Kann man dann auch sagen.

00:37:44.170 --> 00:37:47.850
<v Gast 2>Nur dass ich es verstanden habe, und Compose ist quasi so, du hattest ja vorher auch erwähnt,

00:37:47.930 --> 00:37:54.890
<v Gast 2>dass die Docker in der Docker-File-Referenz, da kannst du auch so diese Entry

00:37:54.890 --> 00:37:55.770
<v Gast 2>Points vielleicht.

00:37:56.650 --> 00:38:01.530
<v Gast 2>Was ist denn da jetzt der Unterschied, wo die Entry Point sagst, jetzt warten wir mal,

00:38:01.610 --> 00:38:06.330
<v Gast 2>bis der Datenbank da ist und Docker-Compose, wo dann quasi die Datenbank auch direkt startet?

00:38:06.650 --> 00:38:07.210
<v Gast 2>Wie sind die?

00:38:08.250 --> 00:38:12.010
<v Gast 1>Also du brauchst die im Zweifelsfall beide.

00:38:12.250 --> 00:38:17.370
<v Gast 1>Also sag mal, du hast diesen Fall mit irgendwie so einer PHP-Anwendung, die auf eine Datenbank zugreift.

00:38:17.450 --> 00:38:22.330
<v Gast 1>In meinem Fall, ich hatte sowas mit irgendwie ein Zeug, was dann auf einen SQL-Server in irgendeinem

00:38:22.330 --> 00:38:26.250
<v Gast 1>Docker-Container zugreift und wo man dann irgendwie gleich ein Skript gestartet hat,

00:38:26.330 --> 00:38:30.970
<v Gast 1>was irgendwie erwartet hat, dass der Datenbankkontainer da ist, was dann aber natürlich explodiert ist,

00:38:31.450 --> 00:38:33.610
<v Gast 1>wenn der Datenbankkontainer nicht da war.

00:38:34.970 --> 00:38:39.770
<v Gast 1>Was Docker Compose macht, ist, du kannst jetzt sagen, Container untereinander haben Abhängigkeiten.

00:38:39.850 --> 00:38:44.410
<v Gast 1>Du kannst jetzt sagen, ach, du hast diese Anwendung und die ist abhängig von dem und dem und dem Container.

00:38:45.050 --> 00:38:51.290
<v Gast 1>Was Docker Compose dann macht, ist, die startet die in der richtigen Reihenfolge.

00:38:51.610 --> 00:38:57.930
<v Gast 1>Was Docker Compose zu dem Zeitpunkt dann weiß, ist, ja, ich habe jetzt den Datenbankkontainer gestartet und

00:38:57.930 --> 00:38:59.930
<v Gast 1>der Datenbankprozess läuft.

00:39:00.170 --> 00:39:06.970
<v Gast 1>Was Docker Compose zu dem Zeitpunkt nicht weiß, ist, dass der Prozess vielleicht noch alle möglichen

00:39:06.970 --> 00:39:11.210
<v Gast 1>Initialisierungsroutinen durchlaufen muss, bevor er mal einen Port-Off macht.

00:39:12.090 --> 00:39:14.490
<v Gast 1>Und dafür ist dann diese Entry-Point-Geschichte, dass du dann weißt,

00:39:14.570 --> 00:39:18.570
<v Gast 1>okay, der Prozess, äh, Docker Compose weiß, der Prozess oder Docker generell weiß,

00:39:18.730 --> 00:39:21.450
<v Gast 1>der Prozess ist jetzt am Laufen und dann fängt es an, den anderen Server,

00:39:21.610 --> 00:39:23.290
<v Gast 1>den anderen Container zu starten.

00:39:24.330 --> 00:39:27.850
<v Gast 1>Und dann musst du halt sagen, okay, ich habe jetzt mal einen anderen Container,

00:39:28.730 --> 00:39:34.010
<v Gast 1>der dann darauf wartet, dass zum Beispiel dieser Port offen ist.

00:39:34.330 --> 00:39:36.170
<v Gast 1>Da gibt es ganz, ganz nette Shell Scripts.

00:39:36.250 --> 00:39:38.250
<v Gast 1>Es gibt dann zum einen Wait for it.

00:39:39.050 --> 00:39:40.250
<v Gast 1>Kann ich mal verlinken.

00:39:40.850 --> 00:39:44.930
<v Gast 1>Und das ist halt so, ja, das, äh, das guckt erst, ob irgendwie, ich weiß gar nicht,

00:39:45.010 --> 00:39:48.450
<v Gast 1>ich glaube, das guckt, ob Netcat verfügbar ist und wenn NETCAD nicht verfügbar ist,

00:39:48.530 --> 00:39:54.690
<v Gast 1>benutzt es irgendwelche, ich glaube, irgendwelche Sys oder irgendwelche PRO-Files,

00:39:55.010 --> 00:39:59.650
<v Gast 1>irgendwas, wo man dann manuell, manuell quasi über irgendwelche Dateien.

00:39:59.890 --> 00:40:05.570
<v Gast 2>Ja, kannst du so Prog irgendwie TCP und dann kannst du den Krebel ja so und dann kannst du nur per LS einfach

00:40:05.570 --> 00:40:06.210
<v Gast 2>schauen, ob es da ist.

00:40:06.450 --> 00:40:11.010
<v Gast 1>Genau, du kannst quasi da sagen, mach doch mal hier eine TCP-Verbindung auf diesen Host,

00:40:11.090 --> 00:40:15.570
<v Gast 1>auf diesen Port auf und dann kannst du einfach gucken, ob das da ist und das hat halt ein Fallback und

00:40:15.570 --> 00:40:19.250
<v Gast 1>funktioniert dann halt auch, wenn diese Dinge, also wenn es zum Beispiel NetKit nicht installiert ist.

00:40:19.490 --> 00:40:22.050
<v Gast 2>Wenn du nur so ein Krebel-Image hast, gar nichts geht.

00:40:22.210 --> 00:40:23.170
<v Unbekannt>Aber okay, cool.

00:40:23.330 --> 00:40:24.850
<v Gast 2>Das ist interessant.

00:40:25.170 --> 00:40:29.250
<v Gast 1>Also das ist halt so eine Sache, wo man dann halt auch sagen kann, man kann dann irgendwelche Hierarchien

00:40:29.250 --> 00:40:31.730
<v Gast 1>aufbauen von irgendwelchen Services, die halt untereinander.

00:40:32.130 --> 00:40:36.610
<v Gast 1>Also es ist halt gerade ganz interessant, wenn man halt so irgendwie vielleicht Microservice oder so

00:40:36.610 --> 00:40:43.090
<v Gast 1>service-orientierte Architektur fährt und man hat dann halt ein komplexes System aus,

00:40:43.490 --> 00:40:49.730
<v Gast 1>oh, ich habe jetzt irgendwie fünf Services und die haben wieder ihren eigenen

00:40:49.730 --> 00:40:54.930
<v Gast 1>Datastore und die haben vielleicht wieder irgendwie noch ein Queuing-System dazwischen und sonst was.

00:40:56.210 --> 00:41:01.090
<v Gast 1>Also sag mal, wenn du jetzt irgendwelche verteilten Architekturen baust und du willst die mal vielleicht

00:41:01.090 --> 00:41:04.770
<v Gast 1>irgendwie Ende zu Ende debuggen oder du willst vielleicht lokal mal sagen,

00:41:05.410 --> 00:41:10.850
<v Gast 1>naja, vielleicht willst du in deinem Continuous Delivery-Prozess oder in deinem Continuous Integration-Prozess

00:41:11.810 --> 00:41:17.890
<v Gast 1>mal Integrationstests laufen lassen, die dein komplettes System von vorne bis hinten testen.

00:41:18.290 --> 00:41:22.130
<v Gast 1>Könntest du halt sagen, ja, also wenn jetzt einer dieser Services geändert wurde,

00:41:22.370 --> 00:41:27.170
<v Gast 1>dann fährst du da mal ein paar Docker-Container hoch, stattest die ganzen Dienste,

00:41:27.410 --> 00:41:31.490
<v Gast 1>lässt da quasi deine Tests dagegen laufen und danach kannst du sie wieder wegwerfen.

00:41:32.370 --> 00:41:35.250
<v Gast 2>Gerade vom CI-System ist natürlich dieses Wegwerfen auch sehr geil,

00:41:35.330 --> 00:41:37.250
<v Gast 2>weil dann den RAM-Schnee nicht vor alle installiert.

00:41:37.330 --> 00:41:42.450
<v Gast 1>Ja, und das Schöne ist, dadurch, dass du halt alles schon mehr oder weniger gezwungen automatisiert hast,

00:41:42.530 --> 00:41:47.970
<v Gast 1>weil du dieses Docker-File geschrieben hast, ist es halt, sag mal, das Setup auch schon gescriptet,

00:41:48.130 --> 00:41:49.170
<v Gast 1>mehr oder weniger.

00:41:49.410 --> 00:41:53.730
<v Gast 2>Und du kannst auch so Sachen, wenn du normalerweise, wenn du irgendein RPM oder so hast,

00:41:53.810 --> 00:41:57.410
<v Gast 2>wo halt sagt, ja, ich will aber mich ins Root-System installieren und bla.

00:41:57.810 --> 00:42:04.210
<v Gast 2>Mit Docker kann es halt jeder beliebige User quasi in den Container installieren und muss dann nicht irgendwie

00:42:04.210 --> 00:42:08.930
<v Gast 2>Super User-Route-Rechte auf deinem gescherten CI-System haben, was ganz cool ist.

00:42:09.890 --> 00:42:13.010
<v Gast 1>Ja, also das ist insgesamt ganz angenehm eigentlich.

00:42:13.330 --> 00:42:16.610
<v Gast 1>Ich meine, es gibt auch Leute, ich habe auch teilweise Kollegen, die dann sagen,

00:42:16.690 --> 00:42:19.650
<v Gast 1>ach, ich will jetzt irgendwelche Sachen nicht mehr lokal installieren,

00:42:19.730 --> 00:42:23.650
<v Gast 1>sondern ich lasse halt einfach alles in Docker-Containern laufen und wenn man dann irgendwie so,

00:42:23.730 --> 00:42:27.730
<v Gast 1>keine Ahnung, irgendwie ein bisschen irgendeinen Command-Line-Utility hat,

00:42:27.810 --> 00:42:32.370
<v Gast 1>was man vielleicht jetzt irgendwie zweimal im Jahr braucht, dann starte ich halt ein,

00:42:32.690 --> 00:42:38.370
<v Gast 1>dann nehme ich halt ein Docker-Image, sage hier Docker-Run, geb dem irgendwie eine URL von einem Docker-Image,

00:42:39.330 --> 00:42:44.610
<v Gast 1>gib dem ein paar Parameter mit und lass das Zeug halt dann direkt in Docker laufen.

00:42:45.490 --> 00:42:49.170
<v Gast 1>Das tut sein Ding, danach kannst du den Container wieder wegwerfen und das nächste Mal,

00:42:49.250 --> 00:42:52.290
<v Gast 1>wenn du es benutzt, kannst du halt wieder komplett neu hochfahren und muss halt jetzt nicht.

00:42:52.530 --> 00:42:56.130
<v Gast 2>Es gab doch auch so ein, es gab ein Betriebssystem, es war nicht CoreOS,

00:42:56.210 --> 00:43:02.130
<v Gast 2>sondern Rancher OS vielleicht oder so, wo quasi alles, also wirklich jedes einzelne Programm in einem

00:43:02.130 --> 00:43:03.570
<v Gast 2>Docker-Container läuft.

00:43:03.890 --> 00:43:09.810
<v Gast 2>Was auch irgendwie schon ziemlich crazy eigentlich ist, aber also manche Leute treiben das wirklich so

00:43:09.890 --> 00:43:12.450
<v Gast 2>einzelne Utilities in Docker geht auch.

00:43:13.490 --> 00:43:15.730
<v Gast 2>Ist jetzt so mehr oder weniger spannend.

00:43:15.970 --> 00:43:18.850
<v Gast 2>Was vielleicht ganz interessant ist, was wir auch noch nicht so wirklich erwähnt haben,

00:43:19.010 --> 00:43:22.930
<v Gast 2>ist, die meisten Leute kennen das ja, dass du einfach, ich sag mal,

00:43:23.090 --> 00:43:29.010
<v Gast 2>Curl in Bash reinpipen, also wo du früher ein beliebiges, ich sag mal,

00:43:29.330 --> 00:43:32.450
<v Gast 2>Kommando oder Skript direkt an deine Shelle übergeben hast.

00:43:32.690 --> 00:43:38.210
<v Gast 2>Docker hat standardmäßig, wenn du so Docker-Run sagst und dieser ihm einen Container gibst,

00:43:38.290 --> 00:43:41.810
<v Gast 2>so die komplette URL und der ist nicht da, Docker lädt es für dich runter.

00:43:41.890 --> 00:43:47.410
<v Gast 2>Also viele von diesen Containern, Docker hat einen Standard dafür, wie diese Container gehostet werden und

00:43:47.410 --> 00:43:54.290
<v Gast 2>Docker weiß auch, wie er die runterlädt, wie er die updatet, wie er so differentielle Updates macht.

00:43:55.490 --> 00:43:58.370
<v Gast 2>Das ist auch noch Teil von diesem ganzen Docker-Command-Dan-Utility,

00:43:58.530 --> 00:44:02.450
<v Gast 2>dass du halt Docker Pull und Docker, was weiß ich, was machen kannst.

00:44:02.610 --> 00:44:07.890
<v Gast 2>Und der quasi, also wenn du zentral quasi in deiner Firma irgendwie dieses eine Docker-Repo hast,

00:44:07.970 --> 00:44:14.930
<v Gast 2>wo dein Developer-Setup darauf gehostet wird, kann da jeder einfach von diesem Setup pullen und

00:44:15.730 --> 00:44:19.410
<v Gast 2>Docker versteht quasi, wie und wo er das runterladen muss.

00:44:19.730 --> 00:44:21.810
<v Gast 2>Das haben wir aber auch nicht so wirklich erwähnt.

00:44:21.890 --> 00:44:22.610
<v Gast 2>Ja, genau.

00:44:22.770 --> 00:44:24.530
<v Gast 1>Also das ist das, was ich mich gemeint habe.

00:44:25.010 --> 00:44:30.290
<v Gast 1>Man kann dann sagen, Docker run und gibt dem irgendwie einen Link zum Image mit oder irgendwie eine Referenz

00:44:30.290 --> 00:44:33.730
<v Gast 1>für eine Docker-Registry.

00:44:33.890 --> 00:44:37.010
<v Gast 1>Ich glaube, über Registries hat man noch gar nicht so richtig geredet.

00:44:38.370 --> 00:44:43.810
<v Gast 2>Nicht wirklich, nee, deswegen, da wollte ich jetzt auch so ein bisschen quasi dahin hingehen.

00:44:46.610 --> 00:44:52.130
<v Gast 1>Das ist im Endeffekt eigentlich ein Service, der halt ein API bereitstellt,

00:44:52.530 --> 00:44:58.290
<v Gast 1>wo du Docker-Images hinpushen kannst.

00:44:58.850 --> 00:45:03.890
<v Gast 1>Da gibt es irgendwie, sagen wir mal, öffentlich zugängliche, wie zum Beispiel irgendwie den Docker Hub,

00:45:04.050 --> 00:45:07.010
<v Gast 1>also ich glaube, das ist hub.docker.com oder sowas.

00:45:08.290 --> 00:45:15.250
<v Gast 2>Also das ist dann Docker Inc., also die haben sich auch irgendwie kommerziell firmiert und

00:45:15.250 --> 00:45:18.850
<v Gast 2>ich glaube, das ist auch die Firma, die das dann quasi betreibt.

00:45:19.010 --> 00:45:19.090
<v Gast 2>Genau.

00:45:19.330 --> 00:45:20.290
<v Gast 2>Im Docker quasi.

00:45:20.450 --> 00:45:24.130
<v Gast 2>In Deutschland würdest du halt einen Verein gründen, dann müsstest du herausfinden, wer der Kämmerer ist, ja.

00:45:24.290 --> 00:45:24.850
<v Gast 2>Der Kämmerer.

00:45:25.170 --> 00:45:28.770
<v Gast 2>Dann könntest du eine Interessengemeinschaft für Docker gründen.

00:45:29.410 --> 00:45:31.090
<v Gast 2>Und dann Schatzmeister beschreiben.

00:45:31.170 --> 00:45:31.410
<v Gast 2>Ja.

00:45:31.890 --> 00:45:38.130
<v Gast 2>Nee, aber da gibt es dann sehr viele auch Images, also alles.

00:45:38.450 --> 00:45:41.570
<v Gast 2>Im Grunde alles gibt es da als vorgebautes Image.

00:45:42.370 --> 00:45:44.210
<v Gast 2>Und was macht die Registry dann?

00:45:44.290 --> 00:45:46.610
<v Gast 2>Also die Registry erlaubt dir Sachen hochzuladen.

00:45:47.010 --> 00:45:50.210
<v Gast 1>Genau, die erlaubt dir, glaube ich, im Minimalfall Sachen hochzuladen.

00:45:50.850 --> 00:45:52.770
<v Gast 1>Man nennt das dann Docker-Push.

00:45:53.490 --> 00:45:58.770
<v Gast 1>Und im Endeffekt gibt es halt auch das Gegenteil, es gibt einen Docker-Pull und man kann halt dann auch Images

00:45:58.770 --> 00:45:59.570
<v Gast 1>wieder runterladen.

00:45:59.650 --> 00:46:04.450
<v Gast 1>Das ist zum Beispiel, was dann benutzt wird, wenn man da so einen Docker-Run macht und man hat das Image noch

00:46:04.450 --> 00:46:10.210
<v Gast 1>nicht lokal irgendwo in seinem Docker-System auf der Platte rumliegen.

00:46:10.370 --> 00:46:14.370
<v Gast 1>Und das ist dann, also im Normalfall wird dann halt geguckt, oh, gibt es jetzt irgendwie ein neueres Image.

00:46:14.450 --> 00:46:19.810
<v Gast 1>Das musst du dann halt auch, sagen wir mal, du musst dann auch sagen, update doch mal meine Images.

00:46:19.970 --> 00:46:24.850
<v Gast 1>Aber im Zweifelsfall, wenn du halt irgendein Image auf der Platte liegen hast,

00:46:24.930 --> 00:46:26.850
<v Gast 1>wird es dann halt dort auch gecached.

00:46:27.410 --> 00:46:29.970
<v Gast 1>Sodass du jetzt halt nicht jedes Mal, wenn du einen Docker-Run machst,

00:46:30.210 --> 00:46:32.450
<v Gast 1>irgendwie das Image herunterladen musst.

00:46:32.530 --> 00:46:36.370
<v Gast 2>Ja, das ist auch so eins der Probleme, wo alle am Anfang waren so Docker,

00:46:36.450 --> 00:46:40.450
<v Gast 2>so, wow, total geil, wie wir jetzt immer alles auf Docker einfach nur deployen werden.

00:46:40.610 --> 00:46:43.650
<v Gast 2>Und dann haben sie irgendwann, so als Firma, musst du dann auch irgendwann denken,

00:46:43.730 --> 00:46:48.290
<v Gast 2>so ja, okay, also einerseits, du kannst eigene Registries haben, was ganz cool ist,

00:46:48.370 --> 00:46:52.530
<v Gast 2>also du kannst das Zeug alles lokal haben, aber es gibt dann komplett neue Probleme,

00:46:52.690 --> 00:46:57.410
<v Gast 2>wie zum Beispiel, ich sag mal, wenn du alle Docker, alle Images auf Docker habt,

00:46:57.490 --> 00:47:03.170
<v Gast 2>die runterladen würdest und laufen lassen, würde ich sagen, hast du in 10% von denen sicher Heartbleed nicht

00:47:03.170 --> 00:47:08.450
<v Gast 2>gepatcht, weil die einfach in ihrem Image irgend so eine uralte Krebel-Version von OpenSSL haben.

00:47:08.850 --> 00:47:13.730
<v Gast 2>In anderen 10% ist irgend so ein Monero-Krypto-Miner, der halt, ich sag mal,

00:47:14.130 --> 00:47:18.050
<v Gast 2>auf irgendwie einem CPU-Core einfach mal richtig schön Cryptocurrency,

00:47:18.130 --> 00:47:21.730
<v Gast 2>für wer auch immer das Image gebaut hat, zusammenrödelt.

00:47:21.890 --> 00:47:26.930
<v Gast 2>Und das ist so security-mäßig ist das eigentlich recht komplex, weil früher hast du halt einfach gesagt,

00:47:27.010 --> 00:47:31.170
<v Gast 2>ja, dann habe ich auf meinem, dann SSH ich einfach zu meinem Server,

00:47:31.330 --> 00:47:35.570
<v Gast 2>habe da rpm-QA, sehe dann, was für Pakete da drauf sind,

00:47:35.650 --> 00:47:39.330
<v Gast 2>mit welchen Versionen und dann habe ich einfach irgendeine überteute Software,

00:47:39.410 --> 00:47:44.850
<v Gast 2>die dann schaut, welche Versionen denn da verwundbar ist und dann schicken wir eine böse E-Mail an den Admin

00:47:44.850 --> 00:47:46.050
<v Gast 2>und sagen, bitte updaten.

00:47:46.290 --> 00:47:52.770
<v Gast 2>Docker-Container kannst du im Grunde komplett vergessen, außer du mountest wirklich jedes Dateisystem und

00:47:52.770 --> 00:47:55.170
<v Gast 2>schaust dann, was da für eine Version drin ist.

00:47:55.330 --> 00:48:02.130
<v Gast 2>Die könnte natürlich nachher von einer anderen Version überschrieben werden und ist also,

00:48:02.450 --> 00:48:07.410
<v Gast 2>hat auch Probleme, gerade wenn man es für das Posting benutzt und da irgendwelche Leute von außen drauf

00:48:07.410 --> 00:48:08.050
<v Gast 2>zugreifen können.

00:48:08.130 --> 00:48:08.370
<v Gast 2>Ja.

00:48:08.530 --> 00:48:12.450
<v Gast 1>Also das ist, ich glaube, da würde ich im Zweifelsfall halt irgendwie Docker-Images benutzen,

00:48:12.610 --> 00:48:15.810
<v Gast 1>die man dann halt vielleicht auch mal selber angeguckt hat, was denn da so drin ist.

00:48:15.890 --> 00:48:15.970
<v Gast 1>Ja.

00:48:16.210 --> 00:48:20.610
<v Gast 1>Oder man baut sich halt seine eigenen Base-Images oder, also ich meine,

00:48:20.690 --> 00:48:24.370
<v Gast 1>es gibt ja zum Beispiel auch, ich glaube, damit verdient halt Docker als Firma auch Geld,

00:48:24.450 --> 00:48:29.330
<v Gast 1>die ver es gibt halt auch diese Private Registries, die

00:48:31.170 --> 00:48:32.210
<v Gast 1>verifiziert.

00:48:32.610 --> 00:48:35.970
<v Gast 1>Nee, also Private Registry ist auch einfach in Form von, du kannst die,

00:48:36.130 --> 00:48:39.410
<v Gast 1>du kannst sie vielleicht auf deinem eigenen Server hosten und die bieten halt das,

00:48:39.490 --> 00:48:42.930
<v Gast 1>glaube ich, auch gehostet als Service an, so wenn du jetzt eine kleine Firma bist und du willst vielleicht

00:48:42.930 --> 00:48:48.610
<v Gast 1>irgendwo deine Docker-Images hosten, dass du die unter deinen Leuten verteilen kannst oder zum Deployment oder

00:48:48.610 --> 00:48:49.330
<v Gast 1>sonst was.

00:48:50.050 --> 00:48:52.610
<v Gast 1>Ja, in der Firma, wir benutzen halt Azure.

00:48:52.770 --> 00:48:55.650
<v Gast 1>Da gibt es auch, also es gibt da quasi Docker-Registries oder es gibt,

00:48:55.890 --> 00:48:59.970
<v Gast 1>ich glaube, das ist Azure Container Registry oder sowas.

00:49:00.290 --> 00:49:01.650
<v Gast 1>Hat einen relativ generischen Namen.

00:49:01.890 --> 00:49:05.970
<v Gast 1>Kannst du halt auch einfach Docker-Images in Azure hosten und das dann halt zum,

00:49:06.130 --> 00:49:07.970
<v Gast 1>also Service ist dann halt gemanagt.

00:49:08.210 --> 00:49:08.370
<v Gast 1>Ja.

00:49:08.770 --> 00:49:13.250
<v Gast 2>Ja, also ich meine, aber die updaten das Zeug dann nicht für dich, sondern das ist eher Hosting.

00:49:13.330 --> 00:49:13.810
<v Gast 2>Also wenn du dann.

00:49:14.050 --> 00:49:18.530
<v Gast 1>Genau, das ist so, du sagst, ach, ich habe jetzt hier eine Anwendung und da baue ich mir dann in meinem

00:49:18.530 --> 00:49:24.210
<v Gast 1>CI-Prozess ein Image da raus und dann pushe ich das automatisch an die Registry,

00:49:24.530 --> 00:49:31.410
<v Gast 1>wenn der komplette Bild durchgelaufen ist und danach triggere ich jetzt irgendwie ein

00:49:31.410 --> 00:49:35.890
<v Gast 1>Deployment und das Deployment-Prozess zieht es dann wieder auf allen Servern,

00:49:36.050 --> 00:49:40.690
<v Gast 1>wo das dann deployed werden soll, aus der Docker-Registry runter, sodass man halt quasi da eine

00:49:40.690 --> 00:49:44.450
<v Gast 1>Kommunikations, also man benutzt es halt mehr oder weniger dann auch,

00:49:44.530 --> 00:49:47.090
<v Gast 1>um die Images zu verteilen in seinem System und so weiter.

00:49:47.250 --> 00:49:50.530
<v Gast 2>Ja, deswegen ist es immer ein bisschen kritisch, wenn du gerade, also wenn man es für,

00:49:50.610 --> 00:49:53.490
<v Gast 2>ich sag mal, was Geschäftliches macht, also zu Hause kannst du ja machen,

00:49:53.570 --> 00:49:58.690
<v Gast 2>was du willst, aber gerade wenn du es für irgendwie Geschäftliches machst und viele Leute holen sich dann

00:49:58.690 --> 00:50:01.410
<v Gast 2>einfach so, ach hier, da brauche ich jetzt Redis, ja, schauen wir mal,

00:50:01.490 --> 00:50:03.810
<v Gast 2>was die meisten Sterne auf Docker Hub hat.

00:50:03.890 --> 00:50:05.490
<v Gast 2>Und dann nehmen wir einfach den Redis-Client.

00:50:05.570 --> 00:50:11.490
<v Gast 2>Du musst halt hoffen, dass wer auch immer der Autor davon ist, dass der sein Ramsch auch updatet,

00:50:11.570 --> 00:50:17.090
<v Gast 2>wenn da irgendwelche CDI-Issues gibt oder du bist halt quasi auf den angewiesen,

00:50:17.250 --> 00:50:20.370
<v Gast 2>außer du willst dir halt dein eigenes bauen, wenn es dann zu spät ist.

00:50:20.770 --> 00:50:21.810
<v Gast 2>Das ist halt immer so.

00:50:22.370 --> 00:50:22.610
<v Gast 2>Ja.

00:50:22.770 --> 00:50:26.850
<v Gast 1>Also ich bin mal der Hoffnung, dass das in Zukunft vielleicht besser wird.

00:50:26.930 --> 00:50:31.730
<v Gast 1>Ich meine, das Problem ist ja letzten Endes genau das gleiche, wie wenn du irgendwelche Open Source Libraries

00:50:31.810 --> 00:50:32.130
<v Gast 1>benutzt.

00:50:32.210 --> 00:50:35.810
<v Gast 1>Die Open Source Libraries könnten auch irgendwelche Threads im Hintergrund spawnen und irgendwie auf deiner

00:50:35.810 --> 00:50:39.010
<v Gast 1>Platte rumrödeln oder Bitcoins minen oder sonst irgendwas.

00:50:39.250 --> 00:50:44.130
<v Gast 2>Du hast halt im Normalfall Debian oder SUSE oder Red Hat, keine Ahnung,

00:50:44.290 --> 00:50:50.450
<v Gast 2>die dann halt dahinter stehen und alle CVIs-Patchen, Patches irgendwie vom Upstream aufnehmen und in dein Zeug

00:50:50.450 --> 00:50:51.090
<v Gast 2>einbauen.

00:50:51.250 --> 00:50:57.010
<v Gast 2>Und da gab es Docker, hab ich irgendwie, gut, ich muss sagen, ich mache da wirklich jetzt nicht so viel mit,

00:50:57.170 --> 00:51:01.330
<v Gast 2>also privat, habe ich nichts gesehen, wo so quasi vergleichbar wäre.

00:51:01.650 --> 00:51:05.090
<v Gast 1>Wäre mir jetzt auch nicht so super sicher, was da so, also es sei denn,

00:51:05.170 --> 00:51:11.170
<v Gast 1>es gibt halt dann irgendwelche Watchdog-Prozesse, die dann halt irgendwie auf deinem Host laufen und dann

00:51:11.170 --> 00:51:13.970
<v Gast 1>irgendwie gucken, was für Software in deinen Containern installiert ist,

00:51:14.130 --> 00:51:20.930
<v Gast 1>aber da wäre mir jetzt auch nichts bekannt, was so wirklich in der großen

00:51:21.250 --> 00:51:23.410
<v Gast 1>oder in der weiten Welt benutzt wird.

00:51:24.450 --> 00:51:28.930
<v Gast 2>Es gibt also Linux-Server.io, vielleicht um den Pick, den ich hier noch unten hatte,

00:51:29.010 --> 00:51:31.730
<v Gast 2>mal vorzunehmen, die finde ich ganz gut.

00:51:31.810 --> 00:51:36.850
<v Gast 2>Ich habe keine Ahnung, wer das ist, aber sie haben, sie bauen alle ihre Container,

00:51:37.010 --> 00:51:41.250
<v Gast 2>ich sag mal, mit den Best Practices, also meist auf Alpine Linux basierend,

00:51:41.410 --> 00:51:46.130
<v Gast 2>Konfiguration Datei immer in Slash Config und haben in ihrem Container halt dann,

00:51:46.210 --> 00:51:50.530
<v Gast 2>wenn sie, keine Ahnung, was ist denn, keine Ahnung,

00:51:50.610 --> 00:51:55.090
<v Gast 2>die haben meist so Download-Geschichten oder vielleicht irgendwelche Mumble-Server oder so.

00:51:55.490 --> 00:51:59.970
<v Gast 2>Die haben das dann vorkonfiguriert, dass die Anwendung halt in Slash Config ihr Zeug erwartet.

00:52:00.050 --> 00:52:05.490
<v Gast 2>Oder Plex haben sie dann Slash Config, da kannst du dann ein Zeug reinmounten und sie haben halt die Library,

00:52:05.570 --> 00:52:08.610
<v Gast 2>wo Plex schreibt, haben sie irgendwie einen Slash Data oder so.

00:52:08.850 --> 00:52:09.410
<v Gast 2>Keine Ahnung.

00:52:09.490 --> 00:52:14.930
<v Gast 2>Also die machen dann Best Practices, die machen auch Updates recht oft und haben das Ganze auch,

00:52:15.010 --> 00:52:17.410
<v Gast 2>die bauen diese Container in einem CI-System.

00:52:17.650 --> 00:52:23.410
<v Gast 2>Also im Endeffekt machen die dann halt wahrscheinlich jeden Abend oder so auch innerhalb von dem Container ein

00:52:23.410 --> 00:52:27.410
<v Gast 2>neues Yum-Install, was dann die neueste Version von allen Libraries,

00:52:27.490 --> 00:52:29.730
<v Gast 2>die jetzt gepatcht wurden, runterlädt.

00:52:30.130 --> 00:52:33.810
<v Gast 2>Und durch dieses CI-System haben die halt immer recht aktuelle Container.

00:52:33.890 --> 00:52:38.930
<v Gast 2>Also wenn dann irgendwas, größte Sicherheitslücke der Welt, dann hoffentlich patcht dann,

00:52:39.410 --> 00:52:41.810
<v Gast 2>wo auch immer die ihre Software herbekommen, das Zeug.

00:52:42.050 --> 00:52:47.730
<v Gast 2>Der Vorteil ist natürlich auch gerade mit Alpine Linux, du hast halt auch nicht so viele Sachen.

00:52:48.290 --> 00:52:52.450
<v Gast 2>Also oft, wenn du halt ein komplettes Betriebssystem hast, dann ist da so viel Ramsch,

00:52:52.610 --> 00:52:57.010
<v Gast 2>da läuft halt irgendein Q-Mail-Server irgendwo im Hintergrund mit,

00:52:57.410 --> 00:53:01.890
<v Gast 2>du hast keine Ahnung, warum eigentlich oder ein Bluetooth-Demon, obwohl du eigentlich gar kein Bluetooth

00:53:01.890 --> 00:53:07.330
<v Gast 2>benutzt, da ist halt der Vorteil von Docker, dass es die kleinste mögliche Angriffsoberfläche gibt.

00:53:07.730 --> 00:53:12.290
<v Gast 1>Ja, also gerade, ich meine, aus einer Sicherheitssicht muss man dann halt wirklich überlegen,

00:53:12.370 --> 00:53:17.090
<v Gast 1>okay, auf der einen Seite, wie du schon gesagt hast, du hast halt, du beschränkst halt deine

00:53:17.090 --> 00:53:21.170
<v Gast 1>Angriffsoberfläche, auf der anderen Seite musst du halt gucken, was dann halt irgendwie tatsächlich für

00:53:21.170 --> 00:53:22.770
<v Gast 1>Software in deinen Containern läuft.

00:53:24.530 --> 00:53:28.450
<v Gast 1>Ja, ich glaube, das Einzige, was ich noch erwähnen wollte, ist, dass ich so ein bisschen die Hoffnung habe,

00:53:28.930 --> 00:53:33.330
<v Gast 1>dass das so ein bisschen so ähnlich vielleicht in der Docker-Community passiert,

00:53:33.410 --> 00:53:37.330
<v Gast 1>wie das jetzt gerade bei NPM passiert, dass zum Beispiel, wenn du jetzt eine NPM-Install machst,

00:53:37.410 --> 00:53:42.450
<v Gast 1>dann sagst du, oh, ich habe jetzt übrigens diese Dependencies installiert und davon haben so und so viele,

00:53:42.530 --> 00:53:49.090
<v Gast 1>so und so viele CVEs und du hast hier eine transitive Dependency auf irgendwie eine Regex-Library,

00:53:49.170 --> 00:53:53.650
<v Gast 1>die hat, ist irgendwie anfällig für, keine Ahnung, irgendwie was weiß ich,

00:53:53.730 --> 00:53:54.530
<v Gast 1>irgendwelche.

00:53:56.210 --> 00:54:00.690
<v Gast 2>Echo dumm gelaufen, Junge, und dann einfach in Chaosay-Pipen.

00:54:00.770 --> 00:54:05.490
<v Gast 2>Dann siehst du, wenn du deinen Docker-Container runterlädst, dass du jetzt quasi schon verloren hast.

00:54:06.050 --> 00:54:09.250
<v Gast 1>Nee, ich hab jetzt, oder gibt's GitHub macht es ja mittlerweile sogar auch,

00:54:09.570 --> 00:54:13.090
<v Gast 1>zumindest bei manchen Projekten, also gerade wenn man jetzt Ruby-Projekte hat,

00:54:13.170 --> 00:54:16.450
<v Gast 1>dann parst GitHub quasi dein Bundle-File.

00:54:16.690 --> 00:54:21.730
<v Gast 1>Dein Gem-File für Bundler und schickt dir dann regelmäßig E-Mails und sagt dir,

00:54:21.810 --> 00:54:26.850
<v Gast 1>ey, du hast hier übrigens Sachen in deinem Repository, die bekannte Sicherheitslücken haben.

00:54:27.730 --> 00:54:29.250
<v Gast 1>Ist ganz cool eigentlich.

00:54:29.330 --> 00:54:34.930
<v Gast 1>Also ich glaube, vielleicht gibt es sowas dann in Zukunft auch für Docker.

00:54:35.010 --> 00:54:40.370
<v Gast 1>Ich meine, das wäre ja vielleicht jetzt auch, sagen wir mal, ein Premium-Feature für so eine Docker-Registry.

00:54:40.610 --> 00:54:41.730
<v Gast 2>Ja, also Docker Inc.

00:54:41.890 --> 00:54:42.850
<v Gast 2>könnte da auch mal was machen.

00:54:43.250 --> 00:54:46.450
<v Gast 2>Ich glaube, die sind da auch hinterher, dass sie so Lösungen haben wollen.

00:54:48.050 --> 00:54:52.130
<v Gast 1>Genau, also keine Ahnung, eine Sache, die ich vielleicht noch ansprechen wollte, ist Doku.

00:54:53.810 --> 00:54:54.530
<v Gast 1>Ist ziemlich cool.

00:54:54.690 --> 00:54:55.490
<v Gast 1>Was ist denn Doku?

00:54:55.890 --> 00:55:00.530
<v Gast 1>Doku ist ein ganz nettes Projekt, was irgendwie total abgefahrene Dinge tut.

00:55:00.610 --> 00:55:04.290
<v Gast 1>Und zwar ist es so, sag mal, du hast jetzt hier so einen VPS laufen,

00:55:04.370 --> 00:55:08.770
<v Gast 1>den du für, was weiß ich, ein paar Dollar, ein paar Euro im Monat irgendwo mietest,

00:55:09.010 --> 00:55:14.050
<v Gast 1>willst da vielleicht mal zum Entwickeln oder zum Rumspielen oder einfach um Dinge zu hosten für ein paar

00:55:14.050 --> 00:55:14.610
<v Gast 1>Leute.

00:55:15.010 --> 00:55:17.250
<v Gast 1>Willst da irgendwelche Apps drauf laufen lassen?

00:55:17.490 --> 00:55:22.690
<v Gast 1>Dann kannst du sagen, ach ja, ich schieße mir da jetzt irgendwie Linux-VPS, ich installiere mir da Doku drauf.

00:55:23.490 --> 00:55:28.770
<v Gast 1>Was Doku dann macht, ist, es installiert irgendwie die Dependencies, die es braucht.

00:55:29.090 --> 00:55:33.570
<v Gast 1>Es bietet dir dann irgendwie einen Git-Endpunkt an und solche Dinge.

00:55:33.810 --> 00:55:40.210
<v Gast 1>Es fährt dann schon mal, ich glaube, standardmäßig ist es ein Nginx als Reverse Proxy hoch und so weiter und

00:55:40.210 --> 00:55:40.690
<v Gast 1>so fort.

00:55:40.930 --> 00:55:44.770
<v Gast 1>Also es fährt schon mal die komplette, oder es installiert schon mal die komplette Infrastruktur,

00:55:44.850 --> 00:55:46.930
<v Gast 1>die du brauchst, um irgendwie Docker-Container zu hosten.

00:55:47.250 --> 00:55:51.170
<v Gast 1>Was du dann machst, ist, du kannst dann irgendwie über einen Command-Date-Utility sagen,

00:55:51.250 --> 00:55:53.410
<v Gast 1>auch jetzt hier Doku, erstell mir doch mal eine App.

00:55:53.650 --> 00:56:00.130
<v Gast 1>Gib mir mal eine App, dann kriegst du da irgendwie ein Git, eine Git-URL, womit du dann Dinge tun kannst.

00:56:00.210 --> 00:56:02.690
<v Gast 1>Dann kannst du das quasi, sagen wir mal, du hast jetzt irgendwie, keine Ahnung,

00:56:02.850 --> 00:56:07.010
<v Gast 1>ein kleines Repository, wo du irgendwie eine Ruby-App am Laufen hast.

00:56:07.650 --> 00:56:13.090
<v Gast 1>Und dann kannst du da quasi relativ ähnlich wie das jetzt bei zum Beispiel bei Services wie Heroku passiert,

00:56:13.330 --> 00:56:18.930
<v Gast 1>kannst du da sagen, du fügst jetzt irgendwie als weiteres Git Remote fügst du dein Doku-Remote hinzu.

00:56:19.250 --> 00:56:24.050
<v Gast 1>Du kannst dann den Content da committen, du pushst dein Git Repository an Doku.

00:56:24.610 --> 00:56:29.730
<v Gast 1>Doku erkennt das und triggert dann quasi durch diesen Push

00:56:32.210 --> 00:56:34.530
<v Gast 1>einen Deployment von deiner Applikation.

00:56:36.210 --> 00:56:39.970
<v Gast 2>Wie weiß der, also GitHub, äh, GitHub, Heroku hatte ja, glaube ich,

00:56:40.050 --> 00:56:43.810
<v Gast 2>diese Buildpacks, also wo es dann heißt, dass er, er sieht dann, oha,

00:56:43.890 --> 00:56:44.210
<v Gast 2>Ruby.

00:56:44.290 --> 00:56:49.730
<v Gast 2>Ruby weiß ich, ich ist immer Bundler install und dann mache ich irgendwie Rake DBMigrate oder so.

00:56:49.810 --> 00:56:50.530
<v Gast 2>Wie macht es Doku?

00:56:50.690 --> 00:56:51.970
<v Gast 2>Kann Doku irgendwie was unterstützen?

00:56:52.690 --> 00:56:57.090
<v Gast 1>Doku unterstützt Heroku Builds, äh, wie heißen die Buildpacks?

00:56:57.650 --> 00:56:59.650
<v Gast 1>Ich glaube, das unterstützt Doku.

00:56:59.890 --> 00:57:03.010
<v Gast 1>Und soweit ich weiß, sind diese, sind diese Buildpacks Open Source.

00:57:03.810 --> 00:57:09.330
<v Gast 1>Und Doku benutzt ein weiteres Utility, das nennt sich Heroku-Isch.

00:57:09.890 --> 00:57:13.170
<v Gast 1>Und das unterstützt quasi diese Buildpacks genauso.

00:57:13.250 --> 00:57:19.250
<v Gast 1>Also das erkennt dann quasi, das guckt dann so, wie sieht denn dein File-Layout in deinem Repository aus und

00:57:19.570 --> 00:57:25.010
<v Gast 1>versucht dann halt automatisch zu erkennen, was du denn, was das für eine Applikation ist.

00:57:25.490 --> 00:57:30.050
<v Gast 1>Und ja, baut dann quasi das Docker-Image lokal auf deinem Server,

00:57:30.530 --> 00:57:36.690
<v Gast 1>lässt es dann laufen, sagt dann, also schreib dann automatisch auch die Nginx-Configs,

00:57:36.850 --> 00:57:43.810
<v Gast 1>damit du dann dein Reverse-Proxy bekommst und so weiter, reloadet dann den Web-Server

00:57:43.970 --> 00:57:50.690
<v Gast 1>und dann hast du quasi irgendwie eine Applikation, die läuft dann irgendwo unter einem bestimmten Hostnamen

00:57:51.890 --> 00:57:52.930
<v Gast 1>auf deinem System.

00:57:53.250 --> 00:57:57.570
<v Gast 2>Und das standardmäßig ist es als HTTP, also als HTTP-Stat-System.

00:57:57.730 --> 00:58:03.250
<v Gast 1>Ja, also Doku ist sehr stark darauf optimiert, dass da Webanwendungen drauf laufen.

00:58:03.330 --> 00:58:04.370
<v Gast 1>Das muss man vielleicht auch sagen.

00:58:04.450 --> 00:58:07.730
<v Gast 1>Ich glaube, das habe ich auch schon als Kritik Doku gegenüber gehört,

00:58:07.810 --> 00:58:12.930
<v Gast 1>dass wenn du jetzt irgendwelche Sachen bauen willst, die jetzt nicht als HTTP-Endpunkt agieren,

00:58:13.010 --> 00:58:14.050
<v Gast 1>dann ist es eher schwierig.

00:58:14.130 --> 00:58:16.290
<v Gast 1>Aber wenn du Web-Anwendung irgendwie hosten willst, dann ist ganz gut.

00:58:16.450 --> 00:58:18.290
<v Gast 1>Also es ist halt wirklich auch gut optimiert.

00:58:18.370 --> 00:58:22.210
<v Gast 1>Es gibt dann halt zum Beispiel auch Plugins für so Sachen wie jetzt hier Let's Encrypt zum Beispiel.

00:58:22.370 --> 00:58:27.090
<v Gast 1>Du sagst dann halt hier irgendwie, du installierst dir das Plugin, du sagst,

00:58:27.330 --> 00:58:32.930
<v Gast 1>ja, ich hätte jetzt übrigens gerne SSL für diese Apps und Doku

00:58:34.290 --> 00:58:39.970
<v Gast 1>macht dann gleich die notwendige Let's Encrypt-Magik, um dir dein, lädt dir deine SSL-Zertifikate runter,

00:58:40.130 --> 00:58:43.810
<v Gast 1>packt die in die richtigen Ordner, tut die Config-Dateien für den Web-Server,

00:58:43.890 --> 00:58:46.130
<v Gast 1>umschreiben, reloadet den Web-Server.

00:58:46.370 --> 00:58:50.050
<v Gast 2>Macht ihr das auf dem Host, den Web-Server oder hat er da auch einen Docker-Container für?

00:58:50.450 --> 00:58:51.810
<v Gast 1>Auf dem Host dann quasi.

00:58:53.330 --> 00:58:58.770
<v Gast 1>Ja, also ist ganz cool, es gibt solche Sachen, da läuft dann zum Beispiel auch automatisch.

00:58:58.850 --> 00:59:03.570
<v Gast 1>Du kannst dann sagen, okay, jetzt mach mal hier einen Cron-Job, der jeden Tag guckt,

00:59:03.730 --> 00:59:09.250
<v Gast 1>ob die SSL-Zertifikate bei Let's Encrypt abgelaufen sind und wenn die dann halt automatisch renewt.

00:59:10.130 --> 00:59:13.330
<v Gast 1>Es gibt so Plugins für bestimmte Datenbanken, wo du dann sagen kannst,

00:59:13.410 --> 00:59:18.290
<v Gast 1>ey, ich brauche jetzt vielleicht mal eine MySQL-Datenbank oder irgendwie Postgres oder sonst irgendwas.

00:59:18.610 --> 00:59:22.530
<v Gast 1>Dann kannst du sagen, okay, gib mal dem Container hier eine Datenbank.

00:59:22.850 --> 00:59:25.570
<v Gast 1>Das macht dann auch schon das Richtige, dass es die Datenbank in ihr,

00:59:25.650 --> 00:59:29.570
<v Gast 1>also die Datenbank-Files in irgendwelche persistenten Ordner mountet.

00:59:30.690 --> 00:59:35.730
<v Gast 1>Du kannst dann, glaube ich, sogar irgendwie über auch Cron-Jobs kannst du sagen,

00:59:35.810 --> 00:59:37.410
<v Gast 1>auch, mach doch mal ein Backup.

00:59:37.970 --> 00:59:40.690
<v Gast 1>Und dann läuft halt in regelmäßigen Abständen ein Backup.

00:59:40.770 --> 00:59:45.810
<v Gast 1>Du kannst da sogar Sachen konfigurieren mit Ja, jetzt benutzt mal irgendwie GPG,

00:59:45.970 --> 00:59:50.050
<v Gast 1>um dann irgendwie dein Backup zu verschlüsseln und auf S3 zu schieben oder so.

00:59:50.930 --> 00:59:54.210
<v Gast 1>Und nachdem du das halt einmal eingerichtet hast, funktioniert das halt dann automatisch.

00:59:54.690 --> 00:59:57.330
<v Gast 1>Also ist ganz cool, ich habe damit jetzt so ein bisschen rumgespielt,

00:59:57.410 --> 01:00:00.370
<v Gast 1>wenn ich irgendwie mal so ein paar, also ich habe da ein paar Sachen,

01:00:00.530 --> 01:00:03.810
<v Gast 1>die drauf laufen, das ist jetzt nichts Außergewöhnliches.

01:00:04.210 --> 01:00:08.050
<v Gast 1>In meinem Fall habe ich sogar gar nicht diese automatischen Buildpacks benutzt,

01:00:08.130 --> 01:00:12.610
<v Gast 1>sondern habe einfach einen Docker-File in mein Repository gepackt, wo dann halt mehr oder weniger definiert

01:00:12.610 --> 01:00:14.290
<v Gast 1>ist, wie die Anwendung zu laufen hat.

01:00:14.370 --> 01:00:17.490
<v Gast 1>Also das heißt, wenn du jetzt in irgendeiner, sag mal, keine Ahnung,

01:00:17.570 --> 01:00:21.170
<v Gast 1>du willst jetzt einen Web-Service in Haskell schreiben und dafür gibt es kein Buildpack.

01:00:21.250 --> 01:00:24.530
<v Gast 1>Ich bin mir jetzt gar nicht sicher, ob es das irgendwie gibt.

01:00:24.610 --> 01:00:25.410
<v Gast 1>Aber sag mal, du.

01:00:26.370 --> 01:00:29.330
<v Gast 1>Ja, sag mal, du willst deinen Web-Service in OCamel schreiben.

01:00:29.570 --> 01:00:30.690
<v Gast 1>Dann kannst du halt quasi einfach.

01:00:31.410 --> 01:00:33.010
<v Gast 2>ML-Donkey wieder anschließen.

01:00:35.090 --> 01:00:38.690
<v Gast 2>Das einzige OCamel-Projekt, das jemals wirklich immer findet.

01:00:39.090 --> 01:00:42.690
<v Gast 1>Ja, dann kannst du halt einfach sagen, du schreibst dir einen Docker-File,

01:00:43.090 --> 01:00:48.530
<v Gast 1>du tust im Docker-File definieren, wie das Projekt gebaut werden soll,

01:00:49.010 --> 01:00:53.570
<v Gast 1>wie du dein Zeug baust, wie es gestartet werden soll, was auch immer.

01:00:54.210 --> 01:00:59.170
<v Gast 1>Und Docu erkennt dann halt, oh, du hast ein Docker-File und benutzt dann halt nicht diese Buildpacks,

01:00:59.250 --> 01:01:00.370
<v Gast 1>sondern benutzt einfach dein Docker-File.

01:01:00.610 --> 01:01:02.610
<v Gast 2>Ja, also so ein generisches Projekt.

01:01:02.930 --> 01:01:08.050
<v Gast 1>Also ist ganz cool, ich glaube, unter der Haube ist das alles ein ziemlich abgefahrenes Shell-Skript.

01:01:08.210 --> 01:01:13.410
<v Gast 1>Ich glaube, das sind irgendwie 300, 400 Zeilen Shell und dann benutzt es halt so Abhängigkeiten wie dieses

01:01:13.410 --> 01:01:15.890
<v Gast 1>Heroku und noch irgendwelches andere Zeug.

01:01:16.450 --> 01:01:21.970
<v Gast 1>Aber ich glaube so, also wie gesagt, das ist, kann man sich mal auf GitHub angucken,

01:01:22.610 --> 01:01:27.330
<v Gast 1>das ist nicht super duper viel Code für das,

01:01:27.410 --> 01:01:28.530
<v Gast 1>was es macht.

01:01:29.010 --> 01:01:30.130
<v Unbekannt>Aber ja, genau.

01:01:30.450 --> 01:01:35.010
<v Gast 2>Benutzt halt alles Docker und so weiter, aber ja, ist schon cool, dass er gerade so die Git-Geschichte da

01:01:35.010 --> 01:01:35.570
<v Gast 2>integriert.

01:01:35.650 --> 01:01:36.290
<v Gast 2>Ist nice.

01:01:36.530 --> 01:01:37.490
<v Gast 2>Weiß ich noch am Anfang.

01:01:37.570 --> 01:01:41.090
<v Gast 2>Also Heroku war ja so der erste Hoster, wo sie einfach gesagt haben,

01:01:41.250 --> 01:01:43.730
<v Gast 2>ja, deployen ist einfach nur ein Push-in-Repo.

01:01:43.810 --> 01:01:46.290
<v Gast 2>Ihr macht es eh den ganzen Tag, dann macht es doch auch so.

01:01:46.370 --> 01:01:49.810
<v Gast 2>Und dann weiß ich noch, Doku war dann irgendwie auf Hackenews kannst du halt auch hoch,

01:01:49.890 --> 01:01:53.090
<v Gast 2>so ja, Heroku, aber ich glaube, damit hat es manchmal ein Shell-Skript.

01:01:53.970 --> 01:01:55.250
<v Unbekannt>Oh, nice.

01:01:55.890 --> 01:01:56.850
<v Unbekannt>Ja, jetzt ein bisschen größer.

01:01:57.170 --> 01:02:03.490
<v Gast 1>Also es gibt, glaube ich, dann auch noch ein Doku alt, was dann irgendwie nochmal vielleicht ein paar neu mehr

01:02:03.490 --> 01:02:04.290
<v Gast 1>Features hat oder so.

01:02:04.370 --> 01:02:06.290
<v Gast 1>Ich habe mir das noch gar nicht so genau angeguckt.

01:02:06.690 --> 01:02:10.210
<v Gast 1>Ich glaube, Doku selber wird jetzt nicht mehr so super aktiv weiterentwickelt.

01:02:11.170 --> 01:02:11.490
<v Gast 1>Ja.

01:02:13.650 --> 01:02:16.050
<v Gast 2>Na gut, ich meine, wenn es läuft, läuft.

01:02:17.490 --> 01:02:18.850
<v Unbekannt>Die Buildpacks werden halt in der Ende.

01:02:21.090 --> 01:02:24.610
<v Gast 1>Also ich glaube, so von meiner Seite war es das jetzt zum Großteil.

01:02:25.090 --> 01:02:28.370
<v Gast 1>Was wir halt in der letzten Zeit jetzt vor allem auch in der Firma zum Beispiel gelernt haben,

01:02:28.450 --> 01:02:33.250
<v Gast 1>ist, wir haben halt sehr viel von unserem Zeug mit Docker-Compose standardisiert.

01:02:33.570 --> 01:02:38.210
<v Gast 1>Und wir haben dann irgendwelche PowerShell-Skripte außenrum um Docker-Compose,

01:02:38.290 --> 01:02:43.330
<v Gast 1>die dann halt so standardmäßige Commands anbieten, weil du kannst halt auch noch so Späße machen,

01:02:43.570 --> 01:02:47.810
<v Gast 1>wie ja, du nimmst jetzt hier dieses Docker-Compose-File und du tust aber dann noch,

01:02:47.970 --> 01:02:53.250
<v Gast 1>hast du noch quasi ein anderes Docker-Compose-File, was dir dann noch irgendwelche Werte überschreibst,

01:02:53.810 --> 01:02:55.410
<v Gast 1>dass du dann und solche Geschichten.

01:02:56.530 --> 01:03:01.570
<v Gast 2>Ich habe nur, weil jetzt, wenn du PowerShell gesagt hast, dann könntest du das Ganze einfach Docker-Thrombose

01:03:01.730 --> 01:03:02.130
<v Gast 2>nennen.

01:03:02.370 --> 01:03:02.690
<v Gast 2>Ja.

01:03:04.610 --> 01:03:06.450
<v Gast 2>Das fühlt sich wahrscheinlich ein bisschen so an.

01:03:06.690 --> 01:03:09.010
<v Gast 1>Ich kann ehrlich gesagt sagen, das ist gar nicht so schlimm.

01:03:09.090 --> 01:03:10.690
<v Gast 1>Also PowerShell läuft auch auf dem.

01:03:11.250 --> 01:03:13.330
<v Gast 1>Nee, läuft auch auf dem Mac orderlich.

01:03:13.410 --> 01:03:14.690
<v Unbekannt>Also du kannst irgendwie.

01:03:14.930 --> 01:03:18.290
<v Gast 1>Nee, du kannst hier Brew Install PowerShell und zack.

01:03:19.090 --> 01:03:24.690
<v Gast 1>Also man muss auch dazu sagen, das ist irgendwie PowerShell-Core, was dann diese Cross-Plattform-Version ist,

01:03:24.770 --> 01:03:26.450
<v Gast 1>die auf allen Systemen läuft.

01:03:28.530 --> 01:03:29.250
<v Gast 1>PowerShell-Core.

01:03:29.810 --> 01:03:31.250
<v Gast 2>Ist auch eine Rockband PowerShell-Core.

01:03:31.490 --> 01:03:33.250
<v Gast 1>Würde ich auf jeden Fall mehr anhören, glaube ich.

01:03:33.410 --> 01:03:34.210
<v Gast 1>Vielleicht auch nicht.

01:03:34.370 --> 01:03:36.610
<v Gast 1>Das hört sich eher nach einer komischen Musikrichtung an, aber.

01:03:37.490 --> 01:03:40.210
<v Gast 2>Das könnte auch sein, wie Grindcore, nur PowerShell-Core.

01:03:40.450 --> 01:03:44.370
<v Gast 1>Nee, ich wollte eigentlich zum eigentlichen Punkt kommen in Sachen Docker Compose,

01:03:44.530 --> 01:03:45.890
<v Gast 1>jetzt haben wir es komplett verfranzt.

01:03:46.690 --> 01:03:51.970
<v Gast 1>Was ja ganz cool ist, ist, man arbeitet halt in einer Abteilung, die irgendwie mehrere Teams hat,

01:03:52.210 --> 01:03:58.370
<v Gast 1>die alle irgendwie ihre Services auf eine gewisse Art und Weise strukturieren oder laufen lassen oder sonst

01:03:58.370 --> 01:03:58.850
<v Gast 1>irgendwas.

01:03:59.090 --> 01:04:03.570
<v Gast 1>Willst du vielleicht mal irgendwas in anderen Services fixen oder willst du mal vielleicht irgendwelche

01:04:03.570 --> 01:04:06.770
<v Gast 1>Änderungen beitragen oder arbeitest mal vielleicht an einem temporären Projekt,

01:04:06.850 --> 01:04:11.810
<v Gast 1>wo du halt an mehreren anderen Codebases, was ist das deutsche Wort?

01:04:12.130 --> 01:04:13.250
<v Gast 1>Codebasen?

01:04:14.450 --> 01:04:15.970
<v Unbekannt>Ja, Quellcode.

01:04:16.450 --> 01:04:19.090
<v Unbekannt>Ja, ich kann kein Deutsch mehr, ist auch egal.

01:04:19.810 --> 01:04:20.450
<v Unbekannt>Codebasis.

01:04:21.730 --> 01:04:22.770
<v Unbekannt>Ich kann kein Deutsch mehr.

01:04:23.090 --> 01:04:28.770
<v Gast 1>Naja, jedenfalls, du willst irgendwo halt Code beisteuern bei anderen Projekten,

01:04:29.090 --> 01:04:32.690
<v Gast 1>mit denen du vielleicht nicht super vertraut bist und aber was du halt auf jeden Fall weißt,

01:04:32.770 --> 01:04:39.730
<v Gast 1>ist, wie du es baust, wie du es laufen lässt und wie du irgendwie es im Zweifelsfall debugst.

01:04:40.290 --> 01:04:40.610
<v Gast 1>Ja.

01:04:41.250 --> 01:04:47.330
<v Gast 2>Genau, da ist halt, das ist so, Docker ist da, da kann jeder tun, was er will und es läuft im Endeffekt immer

01:04:47.330 --> 01:04:48.130
<v Gast 2>noch gleich.

01:04:48.530 --> 01:04:50.690
<v Gast 2>Was wir zum Beispiel benutzen, ist Bug.

01:04:50.770 --> 01:04:54.370
<v Gast 2>Also es ist halt ein Build-Tool, das alles bilden kann und statisch kompilieren,

01:04:54.530 --> 01:04:55.730
<v Gast 2>aber geht in dieselbe Richtung.

01:04:55.970 --> 01:05:00.930
<v Gast 2>Dass Docker Compose halt noch, ich sag mal, generischer ist und du kannst nicht jeden zwingen,

01:05:01.090 --> 01:05:04.290
<v Gast 2>also ich sag mal, selbst wenn du irgendwelche Projekte von außerhalb reinholst,

01:05:04.450 --> 01:05:08.210
<v Gast 2>du kannst halt nicht jeden zwingen, dass das mit deinem Bild-Tool gebaut werden kann.

01:05:09.650 --> 01:05:15.410
<v Gast 2>Docker Compose kannst du aber alles, selbst wenn Sachen sich nicht zwingen lassen wollen,

01:05:15.490 --> 01:05:17.250
<v Gast 2>kannst du die einfach in den Container stecken und sagen, ja, jetzt.

01:05:17.570 --> 01:05:17.810
<v Gast 2>Genau.

01:05:17.890 --> 01:05:22.770
<v Gast 1>Und dann halt, dann haben wir halt Projekte irgendwie in Ruby, in Node,

01:05:22.850 --> 01:05:26.290
<v Gast 1>mit TypeScript, in .NET, in mehreren Geschmacksrichtungen.

01:05:26.370 --> 01:05:31.490
<v Gast 1>Du kannst halt einfach sagen, hey, es ist egal, wie die Projekte gebaut sind.

01:05:31.730 --> 01:05:35.490
<v Gast 1>Vielleicht willst du auch einfach nur als Abhängigkeit, um irgendwas zu testen,

01:05:35.650 --> 01:05:37.490
<v Gast 1>irgendwie einen Service lokal laufen lassen.

01:05:37.650 --> 01:05:43.170
<v Gast 1>Kannst halt einfach sagen, okay, du hast jetzt hier dein Skript, was dann das Richtige tut.

01:05:45.090 --> 01:05:48.450
<v Gast 1>Oder du willst einfach deine Integrationstests laufen lassen.

01:05:49.250 --> 01:05:53.810
<v Gast 1>Und du weißt auf jeden Fall, wie du deine Tests laufen lässt, weil du hast dann halt ein Skript,

01:05:53.890 --> 01:06:00.850
<v Gast 1>was den Testkommand ausführt und der muss dann halt in dem quasi in deinem Docker-Compose-File muss der

01:06:00.850 --> 01:06:05.970
<v Gast 1>dann halt definiert sein, dass da irgendwo eine Version ist, die dann den Testkommand ausführt,

01:06:07.330 --> 01:06:11.730
<v Gast 1>quasi als Command, statt jetzt irgendwie eine Applikation zu starten.

01:06:12.290 --> 01:06:13.890
<v Gast 1>Aber ja.

01:06:14.690 --> 01:06:20.210
<v Gast 1>Ist auf jeden Fall ganz cool, ist auch ein ganz cooles Gefühl, dann einfach irgendwie komplette fremde

01:06:20.210 --> 01:06:21.330
<v Gast 1>Projekte anzufassen.

01:06:21.490 --> 01:06:24.370
<v Gast 1>Aber das Erste, was du halt weißt, ist, du weißt, wie du es baust, du weißt,

01:06:24.850 --> 01:06:27.970
<v Gast 1>wie du es startest und du weißt, wie du die Tests ausführst und dann hast du schon mal,

01:06:28.050 --> 01:06:33.410
<v Gast 1>und du musst halt jetzt nicht irgendwie zwei Tage rummachen, um irgendwie Abhängigkeiten zu installieren und

01:06:33.410 --> 01:06:40.290
<v Gast 1>dann die richtige Version von LibxML auf deinem Computer zu haben, um dann irgendwie Nokugiri in einer

01:06:40.290 --> 01:06:41.970
<v Gast 1>alten Rails-Applikation.

01:06:45.570 --> 01:06:48.370
<v Gast 2>Kinder haben das heute so einfach mit dem Docker, ja.

01:06:48.450 --> 01:06:50.450
<v Gast 2>Wir mussten noch von Hand kompilieren.

01:06:50.770 --> 01:06:51.890
<v Gast 1>Ja, wir müssten noch.

01:06:53.170 --> 01:06:56.930
<v Gast 2>Nokugiri besonders, weil LibXSLT und LibXML waren immer.

01:06:57.970 --> 01:06:59.410
<v Gast 1>Es waren schon immer unsere Freunde.

01:06:59.490 --> 01:07:04.370
<v Gast 2>Natürlich, ich bin auch super daran interessiert, welche XML-Parser Library jetzt genau von der Library

01:07:04.370 --> 01:07:06.530
<v Gast 2>verwendet wird, die ich eigentlich benutzen will.

01:07:07.890 --> 01:07:12.450
<v Gast 2>Ja, du hast Mike's Monsterlist of Docker-Tipps hier noch drin stehen als letztes.

01:07:13.250 --> 01:07:16.850
<v Gast 1>Ja, das ist noch, könnte man vielleicht auch als Lesifo nehmen oder so.

01:07:16.930 --> 01:07:19.410
<v Gast 1>Das ist irgendwie ein ganz netter, ganz netter Tipp.

01:07:19.810 --> 01:07:26.450
<v Gast 1>Ein länglicher, länglicher Eintrag, länglicher Blogpost von einem

01:07:26.530 --> 01:07:28.850
<v Gast 1>Typ, der Mike Simmons heißt.

01:07:30.370 --> 01:07:36.290
<v Gast 1>Und das sind einfach so ein bisschen Docker-Best-Practices, was der Typ in den letzten paar Jahren so ein

01:07:36.290 --> 01:07:42.530
<v Gast 1>bisschen gelernt hat, wie man irgendwie Docker richtig einsetzt und was da vielleicht eher so die Problemchen

01:07:42.530 --> 01:07:43.730
<v Gast 1>sind und so weiter und so fort.

01:07:43.810 --> 01:07:45.890
<v Gast 1>Das kann man sich alles mal angucken.

01:07:46.370 --> 01:07:49.170
<v Gast 2>Das tue ich direkt mal ins Instagram werfen.

01:07:50.130 --> 01:07:50.610
<v Gast 2>Instagram?

01:07:50.850 --> 01:07:51.570
<v Gast 2>Instapaper.

01:07:52.050 --> 01:07:52.370
<v Gast 2>Ja.

01:07:53.090 --> 01:07:53.490
<v Gast 2>Genau.

01:07:53.730 --> 01:07:56.290
<v Gast 1>Du kannst auch einfach mal irgendwelche Links in Instagram werfen.

01:07:56.530 --> 01:07:59.890
<v Gast 2>Ich habe den langweiligsten Instagram-Feed, da sind nur Textposts.

01:08:01.170 --> 01:08:04.450
<v Gast 1>Du kannst ganz viele Screenshots von deinen Blogposts machen, die du nicht hast.

01:08:04.690 --> 01:08:05.330
<v Gast 1>Ich habe ja so ein Server.

01:08:06.290 --> 01:08:08.290
<v Gast 2>Kann ich das alles in Instagram mit dem Rest.

01:08:08.530 --> 01:08:08.850
<v Gast 2>Genau.

01:08:09.090 --> 01:08:09.730
<v Gast 2>Auf jeden Fall.

01:08:09.970 --> 01:08:11.570
<v Gast 2>Okay, Docker, ne?

01:08:11.650 --> 01:08:15.010
<v Gast 2>Ich glaube, die Leute wissen jetzt, was Docker ist und ich hoffe es.

01:08:15.170 --> 01:08:19.090
<v Gast 1>Also ich bin mir nicht sicher, ob wir strukturiert genug waren, dass es alles so ist.

01:08:19.250 --> 01:08:21.570
<v Gast 2>Wir kennen uns da ja auch nicht so wirklich aus, von daher.

01:08:21.810 --> 01:08:22.210
<v Gast 2>Nee, ja.

01:08:22.370 --> 01:08:22.530
<v Gast 2>Nee.

01:08:23.170 --> 01:08:26.050
<v Gast 2>Haben wir alles aus einem anderen Podcast abgelesen.

01:08:26.290 --> 01:08:27.650
<v Gast 2>Ah, Überraschung.

01:08:28.850 --> 01:08:29.970
<v Gast 2>Mimimi der Woche.

01:08:30.130 --> 01:08:31.010
<v Gast 2>Ist eigentlich am Anfang?

01:08:31.090 --> 01:08:31.570
<v Gast 2>Nee, keine Ahnung.

01:08:31.730 --> 01:08:32.690
<v Gast 2>Machen wir es immer am Anfang?

01:08:32.850 --> 01:08:33.410
<v Gast 2>Ist egal.

01:08:33.650 --> 01:08:34.210
<v Gast 2>Machen wir jetzt.

01:08:34.370 --> 01:08:35.730
<v Gast 1>Nee, ich glaube, das machen wir in der Reihe.

01:08:35.890 --> 01:08:37.730
<v Gast 1>Normalerweise machen wir es, glaube ich, in der Reihenfolge.

01:08:37.810 --> 01:08:39.650
<v Gast 1>Ich glaube, am Mimimi kommt nach dem Thema.

01:08:39.890 --> 01:08:40.130
<v Gast 1>Sehr gut.

01:08:40.930 --> 01:08:42.050
<v Gast 2>Dann ist ja alles beim alten.

01:08:42.610 --> 01:08:45.570
<v Gast 1>Es ist auch völlig egal, weil wir micmi einfach, was wir wollen.

01:08:45.890 --> 01:08:47.650
<v Gast 1>Also mein Mimimi ist Face-Time.

01:08:49.490 --> 01:08:53.490
<v Gast 1>Weil ich weiß nicht, also ich hatte da jetzt schon öfters irgendwelche Probleme mit,

01:08:53.570 --> 01:08:58.290
<v Gast 1>dass irgendwie, ich telefoniere da mit irgendwelchen Verwandten in Deutschland und es ist alles super,

01:08:58.370 --> 01:09:00.850
<v Gast 1>ich laufe durch die Weltgeschichte und ich habe irgendwie, keine Ahnung,

01:09:01.010 --> 01:09:04.930
<v Gast 1>150 Megabit LTE-Verbindung auf meinem Handy.

01:09:05.570 --> 01:09:11.410
<v Gast 1>Und es ist eine super tolle Sprachqualität und alles ist gut und nach einer halben Stunde kackt halt irgendwie

01:09:11.410 --> 01:09:17.730
<v Gast 1>der Call-up und irgendwie entweder ich höre das Gegenüber nicht oder das Gegenüber hört mich nicht mehr und

01:09:17.730 --> 01:09:20.290
<v Gast 1>dann muss man den muss was wieder neu starten.

01:09:20.770 --> 01:09:27.570
<v Gast 1>Interessanterweise ist das jetzt auch mit einer relativ stabilen WiFi-Verbindung bei unserer letzten

01:09:27.570 --> 01:09:28.290
<v Gast 1>Sendung passiert.

01:09:28.450 --> 01:09:28.690
<v Gast 1>Ja.

01:09:30.050 --> 01:09:33.490
<v Gast 1>Weswegen unter anderem auch unsere Audioqualität so ein bisschen gelitten hat.

01:09:33.650 --> 01:09:37.250
<v Gast 2>Ja, klang kein Bidosentelefon, weil ich den Hardware nicht bedienen wusste.

01:09:37.330 --> 01:09:38.850
<v Gast 2>Ich schaue jetzt gerade drauf, aktuell läuft.

01:09:39.010 --> 01:09:41.170
<v Gast 2>Also das könnte besser werden dieses Mal.

01:09:41.330 --> 01:09:42.370
<v Gast 2>Aber ja, das war.

01:09:42.770 --> 01:09:45.410
<v Gast 1>Also wir haben jetzt auch schon für Redundanzen gesorgt.

01:09:45.490 --> 01:09:48.930
<v Gast 1>Ich habe jetzt hier auch von mir, also ich rede jetzt in mein Headset rein.

01:09:49.090 --> 01:09:55.650
<v Gast 1>Das Headset wird auf meinem Computer aufgezeichnet und dann habe ich noch hier so ein Zoom

01:09:56.290 --> 01:09:58.210
<v Gast 1>H4, glaube ich.

01:09:59.730 --> 01:10:03.170
<v Gast 1>Also, irgendein Hardware-Recorder von Zoom habe ich irgendwie hier vor mir liegen,

01:10:03.330 --> 01:10:08.050
<v Gast 1>der jetzt auch nochmal mich gesondert unabhängig von meinem Laptop aufnimmt,

01:10:08.130 --> 01:10:09.810
<v Gast 1>dass wenn mein Laptop explodiert, dann können wir.

01:10:10.050 --> 01:10:12.210
<v Gast 1>Also egal, wenn die Welt brennt, wir können noch senden.

01:10:12.370 --> 01:10:12.530
<v Gast 1>Ja.

01:10:12.690 --> 01:10:13.490
<v Gast 1>Aufzeichnen können wir das nicht.

01:10:13.650 --> 01:10:16.770
<v Gast 2>Alles nur bei FaceTime nicht funktioniert manchmal.

01:10:17.010 --> 01:10:17.730
<v Gast 2>Genau.

01:10:18.370 --> 01:10:21.010
<v Gast 1>Genau, die Welt brennt, weil FaceTime nicht funktioniert.

01:10:21.330 --> 01:10:25.010
<v Gast 2>Aber es ist ja kein Thema, weil FaceTime wird ja definitiv ein offenes Protokoll,

01:10:25.250 --> 01:10:27.330
<v Gast 2>hat er ja damals angekündigt, als es rauskam.

01:10:27.650 --> 01:10:31.650
<v Gast 1>Ja, das ist auch button noch.

01:10:32.610 --> 01:10:33.650
<v Gast 1>Wir warten noch ein bisschen.

01:10:33.810 --> 01:10:34.370
<v Gast 1>Vielleicht noch ein bisschen.

01:10:34.530 --> 01:10:35.010
<v Gast 1>Eigentlich schade.

01:10:35.090 --> 01:10:38.770
<v Gast 2>Aktuell, wir machen das jetzt hier über Skype, weil so komisch das jetzt auch aussieht,

01:10:38.850 --> 01:10:40.850
<v Gast 2>es funktioniert halt immer noch erstaunlich gut.

01:10:41.330 --> 01:10:41.570
<v Gast 2>Ja.

01:10:41.730 --> 01:10:43.570
<v Gast 2>Und dann muss man da halt durch.

01:10:43.730 --> 01:10:45.970
<v Gast 2>Naja, dieses Mal hoffentlich besser.

01:10:46.210 --> 01:10:52.930
<v Gast 2>Mit Skype und Hardware Recorder und Backup-Piezzo-Kopie vom Skype-Call und das

01:10:52.930 --> 01:10:53.890
<v Gast 2>sollte alles werden.

01:10:55.090 --> 01:10:59.410
<v Gast 1>Naja, weil letztes Mal habe ich, glaube ich, vier Stunden gebraucht,

01:10:59.490 --> 01:11:01.810
<v Gast 1>um die Sendung zu schneiden, auch wenn man das nicht unbedingt hört.

01:11:02.050 --> 01:11:03.250
<v Unbekannt>Richtig, ich habe mir Mühe gegeben.

01:11:03.410 --> 01:11:07.490
<v Gast 2>Nee, es ist erstaunlich dafür, so wie wenig wir eigentlich im Endeffekt hatten,

01:11:07.570 --> 01:11:09.810
<v Gast 2>ist es immer noch erstaunlich gut.

01:11:10.610 --> 01:11:13.090
<v Gast 2>Und ich hoffe jetzt mal, dieses Mal wird es besser.

01:11:13.810 --> 01:11:14.610
<v Gast 2>Lesefu.

01:11:18.130 --> 01:11:20.130
<v Gast 1>Das ist jetzt natürlich so ein bisschen ungeordnet.

01:11:20.210 --> 01:11:21.490
<v Gast 1>Soll ich einfach mal mit dem Artikel anfangen?

01:11:22.770 --> 01:11:26.130
<v Gast 2>Ich tue die mal so reinkopieren, blind, dass wir uns abwechseln.

01:11:26.290 --> 01:11:27.650
<v Gast 2>Was ist denn dein erster?

01:11:28.690 --> 01:11:33.250
<v Gast 1>Mein erster ist jetzt hier irgendwie, we fired our top talent, best decision we ever made.

01:11:33.650 --> 01:11:38.690
<v Gast 1>Das ist eine sehr spannende, interessante Geschichte über eine Firma,

01:11:39.730 --> 01:11:41.570
<v Gast 1>die einen Entwickler hatten.

01:11:41.890 --> 01:11:44.370
<v Gast 1>Sie nennen ihn sehr liebevoll Rick.

01:11:46.450 --> 01:11:51.810
<v Gast 1>Und ja, da geht es halt im Endeffekt dann darum, dass das halt eine einzelne Person war,

01:11:52.050 --> 01:11:57.010
<v Gast 1>die sehr, naja, vielleicht technisch sehr viel konnte, aber nicht im Team arbeiten konnte,

01:11:57.090 --> 01:12:02.210
<v Gast 1>nicht mit Leuten arbeiten konnte und halt alles in ihrem eigenen Silo gebaut hat.

01:12:03.090 --> 01:12:08.370
<v Gast 1>Und das ist halt so ein bisschen die Geschichte, wie sie dann irgendwie diese Person irgendwann versucht

01:12:08.370 --> 01:12:11.810
<v Gast 1>haben, mit der Person zu reden und dann die Person irgendwann rauswerfen mussten,

01:12:11.890 --> 01:12:13.410
<v Gast 1>weil es nicht mehr funktioniert hat.

01:12:13.650 --> 01:12:18.210
<v Gast 1>Und letzten Endes ist die Moral von der Geschichte, dass man halt, naja,

01:12:18.450 --> 01:12:25.170
<v Gast 1>es ist halt egal, wie gut, wie toll und du, wie toll, wie viel du weißt und wie toll du Code schreiben kannst,

01:12:25.250 --> 01:12:29.570
<v Gast 1>wenn du nicht in der Lage bist, mit Menschen zusammenzuarbeiten, dann hast du,

01:12:29.650 --> 01:12:33.490
<v Gast 1>glaube ich, in der heutigen Geschäftswelt nicht so super viel zu suchen.

01:12:33.730 --> 01:12:36.610
<v Gast 2>Nee, da hat auch jemand einfach einen sehr schlechten Interviewprozess,

01:12:36.690 --> 01:12:41.170
<v Gast 2>weil sowas kann man schon, ich sag mal, da kann man schon drüber reden.

01:12:42.530 --> 01:12:45.490
<v Gast 2>Ich habe immer gedacht, das sei so, ja, das ist ja super schwer rauszufinden,

01:12:45.570 --> 01:12:47.410
<v Gast 2>aber teilweise Leute sagen dir das echt.

01:12:47.490 --> 01:12:51.170
<v Gast 2>Also du gab es in allen, ich sag mal, größeren Firmen hier in der Gegend,

01:12:51.250 --> 01:12:55.330
<v Gast 2>gibt es halt immer ein Cultural Fit oder ein Manager-Interview, heißt es dann,

01:12:55.650 --> 01:13:01.250
<v Gast 2>wo dann irgendwelche Fragen kriegst wie: Erzähl mir von einer Zeit,

01:13:01.490 --> 01:13:05.890
<v Gast 2>als du ein Disagreement, eine, wie heißt denn das, nicht Auseinandersetzung,

01:13:06.130 --> 01:13:07.730
<v Gast 2>eine Nicht-Übereinstimmung?

01:13:07.970 --> 01:13:09.330
<v Unbekannt>Deutsch ist schwer.

01:13:09.730 --> 01:13:16.450
<v Gast 2>Deutsch ist eine Meinungsverschiedenheit hattest

01:13:16.530 --> 01:13:19.170
<v Gast 2>und wie du das irgendwie dann gelöst hast.

01:13:19.410 --> 01:13:23.170
<v Gast 2>Und teilweise Leute sagen dann irgendwie so: ja, ich hab dann, das wollte ich so machen,

01:13:23.250 --> 01:13:27.250
<v Gast 2>aber der andere wollte es anders machen und dann bin ich einfach auf den Tisch gekriegt.

01:13:27.330 --> 01:13:30.050
<v Gast 2>Ja, oder bin ich einfach zu seinem Direktor gegangen und hab dem gesagt,

01:13:30.290 --> 01:13:34.290
<v Gast 2>hier, da müssen wir jetzt aber mal, hat der Direktor gesagt, ja, das machen wir jetzt so.

01:13:34.450 --> 01:13:41.250
<v Gast 2>Und du denkst dann halt auch so, super, jetzt hast du irgendwie dir irgendwie einen Feind im anderen Team

01:13:41.250 --> 01:13:45.570
<v Gast 2>gemacht und also so ganz einfache Sachen, wo dir echt teilweise Leute sah,

01:13:45.730 --> 01:13:47.570
<v Gast 2>einfach nur schlechte Beispiele geben.

01:13:47.730 --> 01:13:50.930
<v Gast 2>Und der sagt dann irgendwie fünf Sachen, wie er sich schlecht verhalten hatte und denkst du so,

01:13:51.010 --> 01:13:53.730
<v Gast 2>okay, krass, ist eigentlich recht offensichtlich.

01:13:54.610 --> 01:13:55.330
<v Gast 2>Schon komisch.

01:13:55.490 --> 01:13:58.770
<v Gast 1>Er wäre tatsächlich vielleicht auch mal ein interessantes Thema, drüber zu reden.

01:13:58.850 --> 01:14:00.850
<v Gast 1>Also Interviews, jetzt nicht komische Menschen.

01:14:00.930 --> 01:14:01.650
<v Gast 1>Ja, ja.

01:14:03.090 --> 01:14:07.730
<v Gast 2>Ich muss mal überlegen, wie generisch ich das halten kann, aber schon.

01:14:07.890 --> 01:14:09.490
<v Gast 2>Ich hab da viel zu sagen.

01:14:09.570 --> 01:14:10.370
<v Unbekannt>Das wäre ganz nett.

01:14:11.010 --> 01:14:15.250
<v Gast 1>Also wenn es Interesse gibt, also ich glaube, so ist sowohl der Mike als auch ich,

01:14:15.570 --> 01:14:19.010
<v Gast 1>wir interviewen beide Leute für unsere Firmen.

01:14:20.530 --> 01:14:25.730
<v Gast 1>Im Zweifelsfall kann man da mal irgendwie drüber reden, wenn man das schon bei anderen vielleicht generisch

01:14:25.730 --> 01:14:26.930
<v Gast 1>genug halten könnte.

01:14:27.010 --> 01:14:30.690
<v Gast 1>Also ich habe jetzt noch nicht bei anderen, ich habe noch keine Interviews bei anderen Firmen gehalten,

01:14:30.850 --> 01:14:31.570
<v Gast 1>aber ja.

01:14:32.370 --> 01:14:33.090
<v Gast 1>Auf jeden Fall ja.

01:14:33.250 --> 01:14:38.530
<v Gast 2>Ist aber interessant und der Blog-Eintrag.

01:14:38.610 --> 01:14:40.370
<v Gast 2>Und ich finde es immer so ein bisschen.

01:14:40.930 --> 01:14:43.650
<v Gast 2>Also, ich meine, es ist ja nett, dass das sagt, aber es ist natürlich auch doof,

01:14:43.810 --> 01:14:47.490
<v Gast 2>wenn die irgendwie so das Arschloch eingestellt haben und es jetzt später rausfinden.

01:14:48.290 --> 01:14:50.050
<v Gast 1>Ist schon dumm gelaufen.

01:14:50.530 --> 01:14:54.450
<v Gast 2>Da sollte man jetzt drüber nachdenken, was denn da von vornherein schief gegangen ist,

01:14:54.530 --> 01:14:56.610
<v Gast 2>dass der überhaupt in der Situation war.

01:14:57.250 --> 01:15:03.970
<v Gast 2>Das ist immer so der Klassiker, wenn du einfach dir in den letzten Dreck committest und dann das

01:15:03.970 --> 01:15:09.010
<v Gast 2>heroische Dift Sachen wieder repariert, danach hinterher committest und dir dann auf die Schulter klopft,

01:15:09.090 --> 01:15:11.890
<v Gast 2>weil du ja den Scheiß repariert hast, den du dir selber eingebraucht hast.

01:15:12.050 --> 01:15:15.170
<v Gast 1>Ja, das ist halt auch so, ja, genau sowas.

01:15:15.330 --> 01:15:16.050
<v Gast 1>Genau, aber es ist so.

01:15:16.370 --> 01:15:20.130
<v Gast 1>Gibt es dann halt auch noch auf irgendwelchen weiteren Ebenen.

01:15:20.530 --> 01:15:22.210
<v Gast 2>Das ist die Manager-Version davon.

01:15:22.450 --> 01:15:23.250
<v Unbekannt>Ja, genau.

01:15:23.650 --> 01:15:29.170
<v Gast 1>Das ist so die Manager-Version von, du schreibst mal einen Scheiß und dann freust du dich,

01:15:29.250 --> 01:15:31.410
<v Gast 1>weil du es halt irgendwann richtig machst.

01:15:31.970 --> 01:15:33.010
<v Unbekannt>Ja, genau.

01:15:33.650 --> 01:15:35.890
<v Gast 2>Von mir gibt es jetzt was ganz Fies Technisches.

01:15:36.610 --> 01:15:37.090
<v Gast 2>Oh ja.

01:15:37.250 --> 01:15:37.570
<v Gast 2>Oh yeah.

01:15:37.970 --> 01:15:41.330
<v Gast 2>Ein LWN-Artikel, how programs get run, ELF Binaries.

01:15:41.490 --> 01:15:45.890
<v Gast 2>ELF, dieses Linux-Format für Executables,

01:15:45.970 --> 01:15:48.770
<v Gast 2>das Executable and Linkable Format.

01:15:50.770 --> 01:15:57.410
<v Gast 2>Da gibt es einen Artikel, wie Linux eine ausführbare Datei quasi ausführt.

01:15:57.570 --> 01:16:01.970
<v Gast 2>Also welche internen Dinge da drin stecken, wo der, welche,

01:16:02.210 --> 01:16:05.090
<v Gast 2>wie tut er die Signal-Händler registrieren?

01:16:05.330 --> 01:16:12.290
<v Gast 2>Wie ist das plattformspezifisch, wo der irgendwelche Sachen hinlädt und wie macht ihr das mit den

01:16:12.290 --> 01:16:14.530
<v Gast 2>Argumenten und wie ist das In-Memory-Layout?

01:16:14.610 --> 01:16:18.370
<v Gast 2>Und es ist schon so ein bisschen abstrus, aber eigentlich auch mal ganz cool zu wissen,

01:16:18.770 --> 01:16:23.090
<v Gast 2>wie das alles unter der Haube funktioniert, wenn du sagst, jetzt bitte laden,

01:16:23.170 --> 01:16:23.570
<v Gast 2>danke.

01:16:23.730 --> 01:16:26.610
<v Gast 2>So ein Exec-Call, was ist denn da genau drin?

01:16:28.130 --> 01:16:31.090
<v Gast 2>Ist ganz cool, ist gar nicht mal so lang, was Nettes.

01:16:32.050 --> 01:16:33.650
<v Gast 1>Sie haben wunderschöne ASCII-Grafen.

01:16:34.130 --> 01:16:35.330
<v Unbekannt>Herrlich, herrlich.

01:16:35.490 --> 01:16:38.450
<v Gast 2>Nicht nur mit, sondern nicht nur eckig, sondern auch rund.

01:16:39.250 --> 01:16:40.210
<v Unbekannt>Naja, naja, so.

01:16:40.450 --> 01:16:42.610
<v Gast 2>Am Anfang, Arcs und Env, da hast du so.

01:16:43.410 --> 01:16:43.970
<v Gast 2>Schon gut.

01:16:44.210 --> 01:16:46.610
<v Gast 1>Ah, ich weiß nicht, so richtig rund ist das jetzt nicht.

01:16:47.010 --> 01:16:47.890
<v Gast 1>Rund genug.

01:16:48.210 --> 01:16:48.930
<v Gast 1>Rund genug.

01:16:49.010 --> 01:16:49.970
<v Unbekannt>Ja, rund genug ist auch.

01:16:51.010 --> 01:16:52.530
<v Gast 2>Das ist nett zum Durchlesen.

01:16:53.170 --> 01:16:59.250
<v Gast 2>Super Detail, aber wenn ihr da schon immer mal wissen wolltet, wie Programme eigentlich ausgeführt werden.

01:16:59.810 --> 01:17:00.130
<v Gast 2>So.

01:17:01.250 --> 01:17:02.690
<v Gast 1>Ja, das ist ganz interessant.

01:17:02.930 --> 01:17:06.690
<v Gast 1>Nicht, dass ich jetzt irgendwie mit ELF-Formaten irgendwas zu tun hätte,

01:17:07.010 --> 01:17:13.890
<v Gast 1>aber wir machen ja so Crash-Processing von irgendwelchen iOS und Android NDK Crashes und sowas.

01:17:14.210 --> 01:17:16.290
<v Gast 1>Da kann man bestimmt auch noch was draus lernen.

01:17:16.530 --> 01:17:17.010
<v Gast 1>Event.

01:17:17.970 --> 01:17:18.210
<v Gast 1>Genau.

01:17:19.090 --> 01:17:19.970
<v Unbekannt>Was haben wir hier noch?

01:17:20.130 --> 01:17:21.890
<v Gast 1>Oh ja, wunderschöner Artikel.

01:17:22.130 --> 01:17:24.130
<v Gast 1>Testing in Production in the Safe Way.

01:17:24.450 --> 01:17:28.370
<v Gast 1>Und zwar geht es da um, wie soll man das sagen?

01:17:28.610 --> 01:17:34.930
<v Gast 1>Um Testing in Form von wie stelle ich denn eigentlich sicher, dass unsere Anwendung das Richtige tut?

01:17:35.090 --> 01:17:38.770
<v Gast 1>Und zwar jetzt nicht in Form von, ey, du schreibst irgendwie Unitest und du guckst,

01:17:38.930 --> 01:17:43.890
<v Gast 1>dass irgendwie dein Code das Richtige tut, sondern wie schaust du denn,

01:17:43.970 --> 01:17:47.890
<v Gast 1>dass deine Anwendung in ihrer deployten Umgebung das Richtige tut?

01:17:47.970 --> 01:17:53.010
<v Gast 1>Oder dass du jetzt nicht irgendwie einen Müll deployst, der dann irgendwie vielleicht durch deine

01:17:53.010 --> 01:17:59.730
<v Gast 1>CI-CD-Tests, wie soll man sagen, durch deine Test-Suite durchläuft

01:18:00.050 --> 01:18:05.490
<v Gast 1>und du aber irgendwas kaputt machst und so weiter und so fort.

01:18:05.730 --> 01:18:09.570
<v Gast 1>Und was ich ganz interessant finde, ist, dass da halt auch das Argument gemacht wird,

01:18:09.650 --> 01:18:12.770
<v Gast 1>dass jetzt so, oft hat man ja so eine Dreifaltigkeit.

01:18:13.170 --> 01:18:16.370
<v Gast 1>So, man hat drei Umgebungen, in denen man irgendwelche Dinge deployt.

01:18:16.530 --> 01:18:19.730
<v Gast 1>Man hat irgendwie, man hat eine Integration-Umgebung, man hat.

01:18:20.770 --> 01:18:25.970
<v Gast 1>Ja, bei uns, ja, bei uns heißt es Integration, Staging und Production.

01:18:27.490 --> 01:18:32.050
<v Gast 1>Aber im Endeffekt wird da halt das Argument gemacht, dass Staging eigentlich gar keinen großen Sinn macht,

01:18:32.370 --> 01:18:38.930
<v Gast 1>weil, naja, du, deine Staging-Umgebung wird halt nie

01:18:38.930 --> 01:18:43.650
<v Gast 1>100% dementsprechend, was, wie deine Produktionsumgebung aussieht.

01:18:43.730 --> 01:18:48.450
<v Gast 1>Klar kannst du die gleiche Infrastruktur hochfahren und dann fängt es aber halt schon an mit,

01:18:49.330 --> 01:18:56.050
<v Gast 1>naja, wie kriegst du denn dann deine Daten irgendwie gemirrot und irgendwie,

01:18:56.210 --> 01:19:01.010
<v Gast 1>sagen wir mal, depersonalisiert, weil im Zweifelsfall kann halt jeder auf eine Staging-Umgebung zugreifen,

01:19:01.090 --> 01:19:04.370
<v Gast 1>da willst du halt keine kundensensitiven Daten drin haben.

01:19:04.690 --> 01:19:10.850
<v Gast 1>Im Zweifelsfall willst du aber vielleicht in der Lage sein, irgendwelche Probleme wiederzuerkennen,

01:19:11.250 --> 01:19:18.130
<v Gast 1>wenn, keine Ahnung, wenn du vielleicht irgendwelche Datenbankindizes anlegst und

01:19:18.370 --> 01:19:23.090
<v Gast 1>die eine Datenbank halt irgendwie so ein paar tausend Einträge hat und die anderen halt vielleicht ein paar

01:19:23.090 --> 01:19:23.970
<v Gast 1>Milliarden.

01:19:24.290 --> 01:19:24.610
<v Gast 1>So.

01:19:25.490 --> 01:19:29.890
<v Gast 1>Das kann man halt, also ich meine, da gibt es schon Möglichkeiten, aber dann fängt es halt dann an,

01:19:30.050 --> 01:19:36.050
<v Gast 1>okay, deine Produktionsumgebung hat komplett andere Traffic-Patterns und hat komplett andere,

01:19:37.490 --> 01:19:43.090
<v Gast 1>wie soll man sagen, nicht nur Traffic-Patterns, sondern ganz andere Last zu handeln,

01:19:43.250 --> 01:19:46.370
<v Gast 1>wie jetzt eine Staging-Umgebung.

01:19:46.530 --> 01:19:51.570
<v Gast 2>Selbst wenn du Low-Tests in deiner Staging-Umgebung irgendwie machst, du kommst halt nicht genau so ran.

01:19:51.730 --> 01:19:55.810
<v Gast 2>Also gerade wenn du jetzt, also wenn du nur irgendwie zwei Server hast und 18 Kunden,

01:19:55.890 --> 01:20:01.250
<v Gast 2>dann kommst du da schon recht gut ran, aber wenn du halt irgendwie 18 Millionen Kunden hast,

01:20:01.330 --> 01:20:07.410
<v Gast 2>dann ist es schon ein bisschen komplexer, da wirklich dieselben Latenzen,

01:20:07.490 --> 01:20:10.930
<v Gast 2>dieselben Input-Vektoren alles da irgendwie hinzukriegen.

01:20:11.090 --> 01:20:13.410
<v Gast 2>Deswegen, ja, ist auch so, glaube ich, diese.

01:20:14.450 --> 01:20:19.090
<v Gast 2>So, diese dritte Entwicklung, wo früher war es halt so, ja, da gibt es ja die QR-Abteilung,

01:20:19.170 --> 01:20:20.450
<v Gast 2>die regelt es dann schon.

01:20:20.610 --> 01:20:25.090
<v Gast 2>Und dann war es irgendwie so, ja, nee, du solltest dann aber auch schon irgendwie Continuous Deployment und

01:20:25.090 --> 01:20:28.530
<v Gast 2>Continuous Integration machen, mit Unit-Tests und Integration-Tests,

01:20:28.610 --> 01:20:30.210
<v Gast 2>die kontinuier durchlaufen.

01:20:30.290 --> 01:20:34.930
<v Gast 2>Und das ist jetzt, finde ich, so die dritte Version davon,

01:20:35.010 --> 01:20:39.330
<v Gast 2>wo du dann rausfindest, wie du einfach an,

01:20:39.490 --> 01:20:41.090
<v Gast 2>du weißt, dass es Probleme gibt.

01:20:41.170 --> 01:20:46.530
<v Gast 2>Selbst wenn dein CI-System komplett durchlaufen wird, wie kriegst du das jetzt noch sicherer hin,

01:20:46.850 --> 01:20:51.010
<v Gast 2>entweder was zu testen oder einfach nur einen neuen Rollout von einer neuen Version von irgendwelchen Code zu

01:20:51.170 --> 01:20:51.330
<v Gast 2>machen.

01:20:51.730 --> 01:20:52.370
<v Gast 2>Genau.

01:20:52.930 --> 01:20:57.570
<v Gast 1>Ja, und also was diese Artikel halt super gut machst, ist so eine der Erklärungen,

01:20:57.650 --> 01:21:00.370
<v Gast 1>wo ich dann schon gedacht habe, boah, scheiße.

01:21:00.930 --> 01:21:06.930
<v Gast 1>Ist halt so, dass ein Deployment und ein Rollout zwei komplett unterschiedliche Prozesse sind.

01:21:07.170 --> 01:21:10.530
<v Gast 1>Du kannst schon sagen, du deployst jetzt mal Software.

01:21:10.850 --> 01:21:14.690
<v Gast 1>Ob du die dann tatsächlich an alle deine Kunden ausrollst, ist eine komplett andere Sache.

01:21:14.850 --> 01:21:19.010
<v Gast 1>Und wenn du das mal begriffen hast, dann hast du plötzlich irgendwie ein relativ,

01:21:19.970 --> 01:21:23.730
<v Gast 1>soll man sagen, relativ mächtiges Instrument in der Hand, um andere Dinge zu tun.

01:21:24.370 --> 01:21:27.650
<v Gast 1>Also die reden halt zum Beispiel über Canary-Releases, dass du halt sagen kannst,

01:21:27.730 --> 01:21:32.050
<v Gast 1>ja, du machst erstmal einen Rollout auf deinen Servern und dann leitest du erstmal einen kleinen Prozentsatz

01:21:32.050 --> 01:21:38.130
<v Gast 1>von Traffic auf diese Server und hast dann ein Monitoring vor Ort oder hast ein Monitoring,

01:21:38.930 --> 01:21:43.250
<v Gast 1>was dann in der Lage ist, zu sehen, ob es da vielleicht irgendwelche Probleme gibt.

01:21:43.410 --> 01:21:46.610
<v Gast 1>Du kannst sagen, du deployst erstmal gegen deine Produktionsumgebung,

01:21:46.690 --> 01:21:53.330
<v Gast 1>du hast beide quasi beide die alte und die neue Version gleichzeitig laufen und du fährst erstmal eine

01:21:53.330 --> 01:21:58.770
<v Gast 1>Ladung von Integrationstests gegen deine neue Umgebung, bevor du da Traffic drauf leitest.

01:21:58.930 --> 01:22:03.410
<v Gast 1>Ja, es gibt auch so Dinge, die zum Beispiel jetzt, ich glaube, Netflix hat es relativ bekannt gemacht,

01:22:03.490 --> 01:22:04.690
<v Gast 1>dieses Chaos Engineering.

01:22:04.930 --> 01:22:07.490
<v Gast 1>Also die haben ja zum Beispiel Chaos Monkey, was so ein Dienst ist,

01:22:07.570 --> 01:22:12.850
<v Gast 1>den die bei sich im Laufen haben, der dann halt zufälligerweise immer irgendwelche Services in der Produktion

01:22:12.850 --> 01:22:19.250
<v Gast 1>abschießt, um zu gucken, oder vielleicht mal die Verbindung langsam macht oder mal die Netzwerkverbindung kapt

01:22:19.250 --> 01:22:24.770
<v Gast 1>oder so, um dann einfach sicherzustellen, dass deine Anwendungen

01:22:26.370 --> 01:22:28.370
<v Gast 1>resistent gegen Fehler sind.

01:22:28.530 --> 01:22:33.250
<v Gast 1>Und in, sagen wir mal, in bestimmten Umgebungen, wenn du verteilte Systeme fährst,

01:22:33.330 --> 01:22:37.410
<v Gast 1>dann ist halt Fehler, ist halt keine Ausnahme, sondern Fehler wird halt passieren,

01:22:37.570 --> 01:22:42.850
<v Gast 1>oder Fehler werden halt passieren und Sachen werden ausfallen und irgendwie Server werden explodieren.

01:22:43.090 --> 01:22:49.650
<v Gast 1>Und ja, das ist ein sehr langer Artikel, aber ich finde, das ist eine super Zusammenfassung von

01:22:49.810 --> 01:22:56.690
<v Gast 1>Praktiken, die man anwenden kann, um, sagen wir mal, weniger Stress bei irgendwelchen Rollouts zu

01:22:56.690 --> 01:22:56.850
<v Gast 1>haben.

01:22:57.010 --> 01:23:03.090
<v Gast 2>Ja, das ist, denke ich, auch so eine der Dinge, gerade wenn man jetzt bei so größeren fancy

01:23:03.170 --> 01:23:04.530
<v Gast 2>US-Firmen arbeitet.

01:23:04.690 --> 01:23:08.450
<v Gast 2>Ich meine, die Technologie, die dahinter steckt, ist schon geil, aber selbst so Patterns,

01:23:08.530 --> 01:23:15.170
<v Gast 2>dass du einfach, nee, irgendwie Canary-Deployments oder Red Green Deployments und Shadow

01:23:15.170 --> 01:23:20.930
<v Gast 2>Traffic und einfach, dass das so Werkzeuge sind, die du einfach immer benutzen kannst und die sind nicht mal

01:23:20.930 --> 01:23:23.010
<v Gast 2>mehr so komplex im Normalfall.

01:23:23.330 --> 01:23:25.170
<v Gast 2>Also einzurichten und das ist schon geil.

01:23:25.250 --> 01:23:28.210
<v Gast 2>Und auch der Artikel hat auch schön hier ein paar Bilder und alles, ist gut.

01:23:28.690 --> 01:23:33.090
<v Gast 1>Er ist schön gemalt und ist auf Medium gehostet, was ist ja,

01:23:33.330 --> 01:23:35.970
<v Gast 1>was ist ja, weiß nicht, ist es immer noch ein Prädikat.

01:23:36.210 --> 01:23:40.370
<v Gast 2>Haben die nicht jetzt so ein Pop-Up, wo immer nervig ist und sagt, bitte geben Sie uns jetzt Geld, danke.

01:23:41.010 --> 01:23:44.050
<v Gast 2>Wir hosten ja auch statischen Content, was ja so super hart ist.

01:23:44.130 --> 01:23:45.010
<v Gast 1>Ich weiß es nicht.

01:23:45.890 --> 01:23:49.890
<v Gast 1>Um ehrlich zu sein, lese ich die Artikel in meinen Insta-Paper, da sehe ich den ganzen Schnellstück.

01:23:51.090 --> 01:23:51.810
<v Gast 1>Problem gelöst.

01:23:51.890 --> 01:23:53.730
<v Gast 1>Einfach mal auf Insta-Paper klicken, dann ist es dort.

01:23:53.890 --> 01:23:55.730
<v Gast 2>Jetzt auch wieder in Europa, glaube ich.

01:23:56.930 --> 01:23:59.490
<v Gast 1>Oh, waren die nicht GDPR-Compliance?

01:23:59.650 --> 01:24:00.690
<v Gast 2>Ja, die haben das einfach abgeschaltet.

01:24:00.770 --> 01:24:03.490
<v Gast 2>Die haben gesagt, da haben jetzt keinen Doktor auf dem Moment und dann waren die,

01:24:03.650 --> 01:24:05.170
<v Gast 2>glaube ich, einen Monat weg oder so.

01:24:05.490 --> 01:24:05.970
<v Gast 2>Ups.

01:24:06.610 --> 01:24:11.810
<v Gast 1>Das ist komplett an mir vorbeigegangen, weil ich habe, wie gesagt, ich bin ja europäischer Staatsbürger,

01:24:12.050 --> 01:24:14.210
<v Gast 1>europäischer EU-Bürger.

01:24:14.610 --> 01:24:15.970
<v Gast 2>Das hat ihnen keiner gesagt.

01:24:16.290 --> 01:24:20.610
<v Gast 1>Aber das hat ihnen keiner gesagt, dass EU-Bürger halt auch außerhalb der EU leben können.

01:24:20.770 --> 01:24:22.210
<v Gast 2>Unglaublich, unglaublich.

01:24:23.250 --> 01:24:24.690
<v Gast 1>Naja, soviel dazu.

01:24:25.810 --> 01:24:29.730
<v Gast 2>Lesivu von mir, Powerful, von Patty McCord.

01:24:30.130 --> 01:24:35.810
<v Gast 2>Ich habe keine Ahnung, weil wie ich darauf gekommen bin, aber das der,

01:24:36.130 --> 01:24:39.570
<v Gast 2>es ist kein Untertitel, es ist ein Übertitel eigentlich, was über dem Titel steht.

01:24:40.050 --> 01:24:44.050
<v Gast 2>Es steht halt vom Co-Creator des Netflix Culture Decks.

01:24:44.130 --> 01:24:48.530
<v Gast 2>Also das Netflix Culture Deck ist diese PowerPoint-artige Präsentation,

01:24:48.930 --> 01:24:51.010
<v Gast 2>die im Internet mal ihre Runden gemacht hat.

01:24:51.090 --> 01:24:54.690
<v Gast 2>Die war eigentlich dafür gedacht, dass man neuen Angestellten bei Netflix so ein bisschen die Kultur

01:24:54.690 --> 01:25:00.370
<v Gast 2>beibringt, die tatsächlich anders ist als die Kultur von sehr, sehr vielen einfach Großfirmen.

01:25:01.730 --> 01:25:07.090
<v Gast 2>Und eine der Co-Autorinnen, die da HR bei Netflix geleitet hat,

01:25:07.250 --> 01:25:13.490
<v Gast 2>ein bisschen für dieses ganze Culture Building mit zuständig war, hat hier auf 150 Seiten oder so

01:25:14.290 --> 01:25:21.170
<v Gast 2>zusammengeschrieben, wie sie genau zu diesen Ansichten kam, dass man Netflix hat halt

01:25:21.170 --> 01:25:24.690
<v Gast 2>immer so Sachen wie, ja, wir sind keine Familie, wir sind ein professionelles Sportsteam,

01:25:25.010 --> 01:25:29.810
<v Gast 2>weil irgendwie aus einer Firma werden Leute gefeuert aus einer Familie im Normalfall nicht.

01:25:30.050 --> 01:25:36.210
<v Gast 2>Und wie sie halt diese Freiheit und Leute zur Verantwortung ziehen,

01:25:36.610 --> 01:25:40.930
<v Gast 2>über irgendwie mehrere Schienen, ich sag mal, zusammengebaut haben,

01:25:41.010 --> 01:25:44.770
<v Gast 2>um da die Kultur, die Netflix heutzutage hat, hinzubekommen.

01:25:44.930 --> 01:25:51.010
<v Gast 2>Und da redet sie so ein bisschen drüber und es ist super leicht zu lesen, also liest sich sehr schnell.

01:25:51.170 --> 01:25:55.330
<v Gast 2>Also ich glaube, irgendwie in zwei, drei Tagen hatte ich das durch, 150 Seiten.

01:25:55.970 --> 01:26:00.450
<v Gast 2>Und ist mal lesenswert,

01:26:00.530 --> 01:26:05.570
<v Gast 2>gerade wenn man sich so ein bisschen für dieses Culture Building und dieses Zeug interessiert.

01:26:06.290 --> 01:26:07.490
<v Gast 2>Kann man mal machen.

01:26:10.770 --> 01:26:11.250
<v Gast 2>Genau.

01:26:12.050 --> 01:26:18.770
<v Gast 1>Dann habe ich hier mal, ich beschäftige mich in letzter Zeit auch so ein bisschen nebenher ein bisschen mit

01:26:18.770 --> 01:26:20.130
<v Gast 1>React-Jazzs.

01:26:21.410 --> 01:26:28.210
<v Gast 1>Und ja, die haben relativ coole Einstiegsartikel so auf ihrer Webseite und da gibt es so diesen Hello

01:26:28.290 --> 01:26:32.850
<v Gast 1>World Artikel, der einfach mal die kompletten Konzepte erklärt, sodass du halt einfach mal mitreden kannst,

01:26:33.090 --> 01:26:37.970
<v Gast 1>wenn irgendwelche Kollegen jetzt von irgendwelchen Components und von irgendwelchen,

01:26:38.050 --> 01:26:42.050
<v Gast 1>was weiß ich, Mob-Ex-Stores und was weiß ich reden.

01:26:43.170 --> 01:26:47.330
<v Gast 1>Ja, also hat mir auf jeden Fall sehr viel geholfen, einfach mal die Konzepte zu verstehen,

01:26:47.650 --> 01:26:53.010
<v Gast 1>wie irgendwie React-Komponenten aufgebaut sind,

01:26:53.330 --> 01:26:58.130
<v Gast 1>wie du Properties übergibst und so weiter und so fort.

01:26:59.730 --> 01:27:05.010
<v Gast 2>React ist dieses Data Binding, dieses Web-Framework,

01:27:05.170 --> 01:27:11.890
<v Gast 2>aber es gibt auch React Native, aber dieses generische Framework, um deine Daten

01:27:12.050 --> 01:27:16.930
<v Gast 2>mit deinem Webzeug automatisch konsistent zu halten, ohne dass du viel Controller schreiben musst,

01:27:17.010 --> 01:27:17.170
<v Gast 2>ne?

01:27:17.330 --> 01:27:17.890
<v Gast 2>Oder anders?

01:27:18.770 --> 01:27:23.330
<v Gast 1>Also React ist eigentlich eher ein View-Framework,

01:27:23.570 --> 01:27:28.690
<v Gast 1>mit dem du, naja, also was React eigentlich macht,

01:27:28.770 --> 01:27:35.410
<v Gast 1>ist, du kannst Komponenten schreiben und den Komponenten gibst du Daten mit und entsprechend

01:27:36.290 --> 01:27:41.410
<v Gast 1>entsprechend tun die Komponenten dann irgendwelche ihre Dinge rendern.

01:27:41.890 --> 01:27:45.570
<v Gast 1>Was React besonders macht, ist, dass es halt so ein Shadow-DOM hat,

01:27:47.090 --> 01:27:53.090
<v Gast 1>wo es erstmal guckt, also es hält quasi sein eigenes Document Object Model.

01:27:53.250 --> 01:27:54.850
<v Gast 1>Ist das das richtige Akronym?

01:27:55.890 --> 01:28:02.850
<v Gast 1>Es hält quasi sein eigenes DOM im Speicher und vergleicht es dann

01:28:02.850 --> 01:28:05.170
<v Gast 1>mit dem, was tatsächlich im Browser angezeigt wird.

01:28:05.410 --> 01:28:10.930
<v Gast 1>Und wenn sich dann irgendwas ändert, dann weiß es, welche Sachen sich geändert haben und rendern dann halt

01:28:10.930 --> 01:28:12.130
<v Gast 1>mehr oder weniger nur die Dinge, die haben.

01:28:12.290 --> 01:28:14.530
<v Gast 2>Also so Single-Page-App-Geschichten.

01:28:14.770 --> 01:28:15.970
<v Gast 1>Genau, genau, solche Sachen.

01:28:16.210 --> 01:28:23.090
<v Gast 1>Du kannst dann auch irgendwelche Dinge machen mit so Observer-Patterns und sonst

01:28:23.090 --> 01:28:23.250
<v Gast 1>was.

01:28:23.330 --> 01:28:27.410
<v Gast 1>Also ich glaube Unidirectional Data Flow ist so das Ding, was da so passiert.

01:28:27.570 --> 01:28:31.810
<v Gast 1>Du kannst dann halt quasi sowas sagen, also was wir machen, ist,

01:28:31.890 --> 01:28:35.810
<v Gast 1>wir haben einen Data Store im Browser, der nennt sich MobX.

01:28:36.370 --> 01:28:40.850
<v Gast 1>Da kannst du so irgendwelche Observables und Properties und sonst irgendwas definieren.

01:28:41.010 --> 01:28:45.330
<v Gast 1>Und dann kannst du halt sagen, zum Beispiel, ja, also wenn sich jetzt irgendwo was ändert,

01:28:45.410 --> 01:28:49.250
<v Gast 1>dann sag doch mal dem Data Store Bescheid und der Data Store sagt dann allen Komponenten,

01:28:49.330 --> 01:28:52.130
<v Gast 1>die dann dranhängen, Bescheid, dass sich was geändert hat.

01:28:53.250 --> 01:28:57.410
<v Gast 1>Und die Komponenten rendern sich dann einfach neu.

01:28:58.610 --> 01:29:05.490
<v Gast 1>Was ganz interessant ist, weil, sagen wir mal, eine React-Komponente ist eigentlich im einfachsten Fall eine

01:29:05.490 --> 01:29:08.370
<v Gast 1>reine Funktion, die ein Objekt zurückgibt.

01:29:09.010 --> 01:29:09.330
<v Gast 1>Okay.

01:29:10.850 --> 01:29:13.410
<v Gast 1>Und dann gibt es noch, man kann das ein bisschen komplizierter machen,

01:29:13.490 --> 01:29:15.490
<v Gast 1>man kann das dann auch noch als Klasse machen und so weiter.

01:29:15.650 --> 01:29:20.130
<v Gast 1>Eine Klasse hat dann irgendwie eine Rendermethode und die Rendermethode gibt dann Sachen zurück,

01:29:20.210 --> 01:29:24.130
<v Gast 1>dann gibt es da noch so eine Markup-Sprache, die nennt sich JSX.

01:29:24.770 --> 01:29:29.090
<v Gast 1>Das sieht so ein bisschen aus wie HTML kombiniert mit JavaScript.

01:29:29.490 --> 01:29:31.490
<v Gast 1>Oder XML kombiniert mit JavaScript.

01:29:31.730 --> 01:29:38.610
<v Gast 1>Ist im Endeffekt eher ein Superset von JavaScript, was dann halt noch bestimmte Syntax hat,

01:29:38.770 --> 01:29:42.290
<v Gast 1>um irgendwelche HTML-Elemente oder XML-Elemente zu rendern.

01:29:42.530 --> 01:29:49.170
<v Gast 1>Beziehungsweise JSX sind, wie soll man sagen, in JSX rendert man nicht nur irgendwelche,

01:29:49.330 --> 01:29:56.290
<v Gast 1>was weiß ich, H1, Diff oder sonst irgendwelche Elemente, sondern man kann da auch andere komplexere

01:29:56.610 --> 01:29:57.570
<v Gast 1>React-Komponenten.

01:29:57.890 --> 01:30:02.130
<v Gast 2>Ja, so Builder-Pattern-mäßig und ja, das sieht ein bisschen aus.

01:30:02.290 --> 01:30:07.890
<v Gast 2>Facebook hat XHP internen, also ich glaube XHP war 2010 haben sie das irgendwann mal gemacht,

01:30:07.970 --> 01:30:11.810
<v Gast 2>wo sie auch gesagt haben: so ja, PHP ist ja schon ganz nett, aber wäre besser,

01:30:11.890 --> 01:30:17.010
<v Gast 2>wenn das eher so ein bisschen mehr Objekt, ein bisschen weniger nur Template wäre.

01:30:17.090 --> 01:30:18.610
<v Gast 2>Und so ist es, glaub auch.

01:30:18.850 --> 01:30:22.050
<v Gast 2>Nur das ist halt tatsächlich, wenn du es gerade, wo du gerade gemeint hast,

01:30:22.210 --> 01:30:25.250
<v Gast 2>also der Datastore, da ändert sich was und dann das Ganze Observable,

01:30:25.330 --> 01:30:28.450
<v Gast 2>also alles, was sich da drauf registert hat, kriegt dann auch was mit.

01:30:28.530 --> 01:30:32.610
<v Gast 2>Also es reagiert quasi React.

01:30:34.370 --> 01:30:34.850
<v Gast 2>Genau.

01:30:35.090 --> 01:30:36.450
<v Gast 1>Ist auf jeden Fall ganz cool.

01:30:36.610 --> 01:30:38.050
<v Gast 2>Ja, sieht schön aus, die Seite auch.

01:30:38.850 --> 01:30:45.570
<v Gast 1>Ich fand es auch erstaunlich einfach, da innerhalb von kurzer Zeit in einem bestehenden React-Projekt mich so

01:30:45.570 --> 01:30:47.170
<v Gast 1>halbwegs zurechtzufinden.

01:30:47.410 --> 01:30:51.330
<v Gast 1>Es gibt da auch ganz coole Chrome-Extensions, also eine, die heißt einfach nur,

01:30:51.410 --> 01:30:53.730
<v Gast 1>ich glaube, React Developer oder sowas.

01:30:53.890 --> 01:30:57.330
<v Gast 1>Da kannst du hier irgendwie auf eine Webseite gehen, die in React geschrieben ist.

01:30:57.410 --> 01:31:00.370
<v Gast 1>Wenn das dann ein Development-Bild ist, kannst du hier sagen, Rechtsklick,

01:31:00.530 --> 01:31:04.930
<v Gast 1>Inspect Element und dann kannst du auf den React-Tab klicken und dann zeigt er dir die Hierarchie in

01:31:04.930 --> 01:31:07.250
<v Gast 1>React-Komponenten und nicht in HTML.

01:31:07.410 --> 01:31:07.730
<v Gast 1>Cool.

01:31:07.890 --> 01:31:09.330
<v Gast 2>Also gutes Development Tooling.

01:31:09.410 --> 01:31:12.130
<v Gast 1>Ja, also das ist auf jeden Fall, macht Spaß.

01:31:12.370 --> 01:31:18.930
<v Gast 1>Das ist auch mal was anderes, weil ich habe jetzt irgendwie sehr, sehr lange Zeit sehr viel Backend und hier

01:31:19.810 --> 01:31:21.330
<v Gast 1>Server-Side-Dienste gemacht.

01:31:21.570 --> 01:31:25.570
<v Gast 1>Ab und zu mal dann irgendwie so ein bisschen Frontend zu schrauben, ist eigentlich auch ganz spaßig.

01:31:26.930 --> 01:31:27.650
<v Gast 1>Cooles Ding.

01:31:28.690 --> 01:31:30.450
<v Gast 2>Erzähl doch mal was über Deikstra.

01:31:30.690 --> 01:31:36.690
<v Gast 1>Oh ja, es ist ein ziemlich cooler geschriebener Artikel, der heißt Finding the Shortest Path with a Little

01:31:36.930 --> 01:31:38.130
<v Gast 1>Help from Dijkstra.

01:31:38.690 --> 01:31:43.170
<v Gast 1>Ja, geht's halt irgendwie um diesen Dijkstra-Pathfinding-Algorithmus,

01:31:43.490 --> 01:31:48.930
<v Gast 1>wenn man so gewichtete Graphen hat, die dann, also ein relativ einfaches Beispiel wäre jetzt vielleicht so

01:31:48.930 --> 01:31:54.370
<v Gast 1>eine, keine Ahnung, du hast irgendwie eine Karte mit einzelnen Städten zwischendrin und dann hast du da

01:31:54.370 --> 01:31:59.330
<v Gast 1>irgendwelche Bahnlinien zwischendrin und dann hast du halt irgendwie die Länge der oder irgendwie die Zeit,

01:31:59.410 --> 01:32:02.530
<v Gast 1>die dann irgendwelche Züge zwischen den Städten hin und her brauchen und so weiter.

01:32:02.610 --> 01:32:07.090
<v Gast 1>Ja, ich finde es immer mal ganz spannend, einfach so ein bisschen mal wieder so was zu haben,

01:32:07.170 --> 01:32:10.770
<v Gast 1>was man vielleicht schon mal irgendwie im Studium angeguckt hat und das dann einfach mal,

01:32:11.090 --> 01:32:12.690
<v Gast 1>keine Ahnung, ein bisschen durchdenken kann.

01:32:12.850 --> 01:32:17.730
<v Gast 1>Nicht, dass ich das jetzt irgendwie in meiner tagtäglichen Arbeit irgendwie sehr krass brauchen könnte,

01:32:17.810 --> 01:32:21.490
<v Gast 1>aber es ist einfach, glaube ich, mal ganz gut, da irgendwie ein bisschen am Start zu bleiben.

01:32:21.810 --> 01:32:23.170
<v Gast 1>Und es ist ein alte Dikes.

01:32:23.410 --> 01:32:29.650
<v Gast 1>Also generell, das ist auf einem Blog, der nennt sich Base CS und da gibt es auch relativ viele Artikel über

01:32:29.650 --> 01:32:34.210
<v Gast 1>so Algorithmen, Datenstrukturen, Informatikgrundlagen.

01:32:34.290 --> 01:32:38.770
<v Gast 1>Und gerade wenn man das irgendwie vielleicht noch mal ein bisschen auffrischen will, ist ganz gut.

01:32:39.330 --> 01:32:40.850
<v Gast 1>Kann man auf jeden Fall machen.

01:32:41.170 --> 01:32:41.810
<v Gast 1>Kommt gut.

01:32:42.050 --> 01:32:42.370
<v Gast 1>Kommt gut.

01:32:43.250 --> 01:32:46.050
<v Gast 2>Ich habe einen weiteren Buchpick.

01:32:46.370 --> 01:32:48.290
<v Gast 2>Das Gute ist, das Buch kann man noch nicht lesen.

01:32:48.610 --> 01:32:50.130
<v Gast 2>Da kann man nur einen Pre-Order machen.

01:32:50.370 --> 01:32:51.250
<v Gast 2>Es kommt am 7.

01:32:51.410 --> 01:32:55.170
<v Gast 2>Oktober rauf, heißt Seeking SRI im ORADI-Verlag.

01:32:55.250 --> 01:32:59.890
<v Gast 2>Es gab ja dieses SRI-Buch, das im Grunde bei O'Radi rauskam und größte das beschrieben hat,

01:33:00.050 --> 01:33:04.770
<v Gast 2>wie Google SRI, also Site Reliability Engineering, aufbaut.

01:33:04.930 --> 01:33:10.370
<v Gast 2>Und es, das ist zwar interessant und so, aber es ist halt auch nur, wie Google das aufgebaut hat.

01:33:10.450 --> 01:33:16.370
<v Gast 2>Es gibt einige andere, Facebook zum Beispiel mit Production Engineering oder Dropbox hat SRI auch,

01:33:16.610 --> 01:33:19.410
<v Gast 2>die das ein bisschen anders aufgebaut haben.

01:33:19.570 --> 01:33:24.210
<v Gast 2>Und das ist jetzt quasi so ein bisschen ein größerer Überblick.

01:33:24.370 --> 01:33:29.330
<v Gast 2>Also der Untertitel ist Conversations About Running Production Systems at Scale.

01:33:29.570 --> 01:33:35.730
<v Gast 2>Wird also sehr gut und beschäftigt dich zum Beispiel auch über irgendwelche Dinge wie

01:33:35.730 --> 01:33:41.810
<v Gast 2>psychologische Sicherheit in SRE, weil du halt permanent in einem Produktionssystem arbeitest oder SRE

01:33:41.890 --> 01:33:47.090
<v Gast 2>INT-Patterns, also wie du es eventuell nicht machen solltest, wie man mit Burnout umgeht bei irgendwelchen

01:33:47.090 --> 01:33:52.450
<v Gast 2>Teams, die ein bisschen mehr, ich sag mal, on-call fokussiert sind.

01:33:52.690 --> 01:33:54.130
<v Gast 2>Wird also, glaube ich, ein ganz cooles Buch.

01:33:54.210 --> 01:33:57.650
<v Gast 2>Ich habe mal irgendwie eins der Probekapitel angelesen, was ganz nett war.

01:33:58.370 --> 01:34:01.090
<v Gast 2>Kann man sich, glaub, freuen, wenn es einen interessiert.

01:34:01.970 --> 01:34:06.290
<v Gast 2>Und als letztes, nach dem Buchtipp, noch ein Videotipp.

01:34:06.370 --> 01:34:07.810
<v Gast 2>Es gibt was Neues von James Mickens.

01:34:07.970 --> 01:34:12.770
<v Gast 2>James Mickens war ja, der hat damals wurde, glaubt, also, er hat schon immer lustige Sachen gemacht,

01:34:12.850 --> 01:34:17.570
<v Gast 2>aber er wurde so richtig bekannt durch seinen Monitorama-Vortrag, der sehr,

01:34:17.650 --> 01:34:18.690
<v Gast 2>sehr lustig war.

01:34:19.010 --> 01:34:25.010
<v Gast 2>Er hat jetzt in der Usenix-Konferenz, die aktuelle, die jetzt gerade vorbei war, glaube ich.

01:34:25.330 --> 01:34:31.730
<v Gast 2>Vor 14 Tagen ist es rausgekommen, hatte eine Keynote gegeben zum Thema Sicherheit und der Titel ist Why Do

01:34:31.730 --> 01:34:35.170
<v Gast 2>Keynote Speakers Keep Suggesting That Improving Security is Possible?

01:34:35.410 --> 01:34:41.490
<v Gast 2>Und es ist, er geht so ein bisschen darauf ein, wie Machine Learning und Sicherheit zusammenhängt und wann das

01:34:41.490 --> 01:34:43.010
<v Gast 2>vielleicht nicht so die beste Idee ist.

01:34:43.170 --> 01:34:48.130
<v Gast 2>Und er geht so ein bisschen darauf ein, wie man IoT, so Internet of Things,

01:34:48.210 --> 01:34:52.450
<v Gast 2>was er eigentlich nervt ist ein bisschen, aber er zieht halt so ein bisschen darüber hinweg,

01:34:52.610 --> 01:34:57.330
<v Gast 2>was wie schlecht IoT-Hardware eigentlich sein kann, so Internet of Shit mäßig,

01:34:57.490 --> 01:35:03.010
<v Gast 2>und ist alles super lustig gemacht und geht 50 Minuten lang und ja,

01:35:03.490 --> 01:35:04.690
<v Gast 2>extremst zu empfehlen.

01:35:04.850 --> 01:35:08.530
<v Gast 2>Er ist jetzt wieder, er hat, glaube ich, eine Zeit lang bei Microsoft gearbeitet und ist jetzt wieder zu

01:35:08.530 --> 01:35:13.570
<v Gast 2>Harvard zurück und forscht da irgendwie über Sicherheit und herrlich,

01:35:13.730 --> 01:35:14.210
<v Gast 2>herrlich.

01:35:14.530 --> 01:35:15.330
<v Unbekannt>Kann man sich anschauen.

01:35:15.890 --> 01:35:17.330
<v Gast 1>Einfach mal über Sicherheit forschen.

01:35:17.970 --> 01:35:20.210
<v Gast 2>Einfach mal schauen, wie sicher Sachen sind.

01:35:20.850 --> 01:35:21.730
<v Gast 2>Hacker werden hacken.

01:35:22.130 --> 01:35:22.370
<v Gast 2>Können.

01:35:23.250 --> 01:35:23.890
<v Gast 2>Können auch.

01:35:24.770 --> 01:35:25.490
<v Gast 2>Müssen teilweise.

01:35:25.810 --> 01:35:26.050
<v Gast 2>Müssen.

01:35:26.610 --> 01:35:26.930
<v Gast 2>Genau.

01:35:27.170 --> 01:35:27.490
<v Gast 2>Picks.

01:35:28.290 --> 01:35:30.050
<v Gast 1>Ja, sollen wir gleich anfangen.

01:35:30.290 --> 01:35:32.690
<v Gast 1>Mein Primärpick ist JQ.

01:35:33.410 --> 01:35:35.890
<v Gast 1>Das steht, glaube ich, für JavaScript Query.

01:35:36.050 --> 01:35:38.210
<v Gast 1>Äh, äh, äh, nee, ähm, JQuery.

01:35:38.690 --> 01:35:39.250
<v Gast 1>JSON Query.

01:35:39.410 --> 01:35:39.970
<v Gast 1>JSON Query.

01:35:40.130 --> 01:35:43.650
<v Gast 2>Ja, und JSON ist JavaScript Object Notation, also quasi JavaScript.

01:35:43.890 --> 01:35:44.690
<v Gast 2>JavaScript Query.

01:35:45.490 --> 01:35:47.250
<v Gast 1>Zumindest ein Subset von JavaScript.

01:35:48.210 --> 01:35:52.610
<v Gast 1>Ja, mein, äh, genau, und mein Sekundärpick wäre die JQ-Examples.

01:35:52.930 --> 01:35:57.330
<v Gast 1>Ich habe da eine wunderschöne Seite gefunden,

01:35:57.570 --> 01:36:04.050
<v Gast 1>wo alle möglichen Beispiele dran sind, wie man irgendwelche JSON-Strings

01:36:04.450 --> 01:36:08.290
<v Gast 1>schön queriert und wie man denn irgendwelche Sachen rausnimmt.

01:36:08.370 --> 01:36:13.250
<v Gast 1>Also sollte man das nicht kennen, JQ ist ein Command-Line-Utility,

01:36:13.410 --> 01:36:20.290
<v Gast 1>mit der man JSON-Parsen und Daten aus JSON-Dokumenten

01:36:20.290 --> 01:36:21.330
<v Gast 1>extrahieren kann.

01:36:21.410 --> 01:36:23.170
<v Gast 1>Ist das eine sinnvolle Beschreibung?

01:36:23.410 --> 01:36:29.650
<v Gast 2>Das ist so ein bisschen, wenn Leute X-Path kennen von XML oder Selektoren in CSS.

01:36:30.050 --> 01:36:34.130
<v Gast 1>Ja, CSS-Selektoren, sowas, jQuery-Selektoren zum Beispiel, gibt es ja auch noch.

01:36:34.370 --> 01:36:35.330
<v Gast 2>Ja, richtig, genau.

01:36:35.410 --> 01:36:40.930
<v Gast 2>Und das ist quasi, wenn du ein großes JSON-Dokument hast, das du irgendwie eine API reinbekommst,

01:36:41.010 --> 01:36:45.970
<v Gast 2>aber auf der Shell bist, dann erlaubt er dir da Sachen rauszufriemeln und ist schon cool.

01:36:46.130 --> 01:36:50.050
<v Gast 1>Ja, oder einfach nur so mit, ich habe da auch eine Zeit lang irgendwie,

01:36:50.610 --> 01:36:53.810
<v Gast 1>habe ich mal mit irgendwelchen Leuten nur so LOL-Commits gemacht.

01:36:54.930 --> 01:36:58.610
<v Gast 1>Also kann man dann halt auch sagen, ja, ich habe doch jetzt irgendwie hier,

01:36:59.170 --> 01:37:05.330
<v Gast 1>jedes Mal, wenn ich committe, nimmt meine Kamera ein paar Frames auf und macht dann da einen Gift raus und

01:37:05.330 --> 01:37:07.890
<v Gast 1>dann kann man das irgendwie in Slack-Channel hochladen.

01:37:08.050 --> 01:37:12.530
<v Gast 1>Und da hatte ich dann auch irgendwelche Sachen, wo man dann irgendwie, wie war denn das?

01:37:12.930 --> 01:37:18.050
<v Gast 1>Ich glaube, ich musste auch irgendwie aus der Response noch irgendwelche,

01:37:18.530 --> 01:37:21.170
<v Gast 1>also ich habe das dann irgendwie, kann man ja mit Curl dann irgendwie einen,

01:37:21.250 --> 01:37:24.930
<v Gast 1>ich glaube, einen Put oder einen Post-Request machen, um das bei Slack hochzuladen.

01:37:26.290 --> 01:37:30.930
<v Gast 1>Kann dann aber auch, ich weiß nicht, ich glaube, ich habe aus irgendwelchen Gründen irgendwelche Informationen

01:37:30.930 --> 01:37:32.690
<v Gast 1>aus der Response noch gebraucht.

01:37:33.650 --> 01:37:36.050
<v Gast 1>Und sowas kann man dann halt auch mit GQ machen.

01:37:36.130 --> 01:37:38.930
<v Gast 1>Wenn man dann einfach nur ein Shell-Skript hat, dann kann man einfach sagen,

01:37:39.010 --> 01:37:45.090
<v Gast 1>hier, GQ, ich mache jetzt mal einen Curl Request, pipe das an GQ weiter,

01:37:45.250 --> 01:37:49.650
<v Gast 1>mache da irgendwie einen Selektor draus und tu dann aus dem Ergebnis,

01:37:50.290 --> 01:37:53.570
<v Gast 1>verwende das dann irgendwo an anderen Teilen von meinem Shell-Skript weiter.

01:37:53.730 --> 01:37:53.890
<v Gast 1>Ja.

01:37:54.050 --> 01:37:54.450
<v Gast 1>Solche Sachen.

01:37:55.330 --> 01:37:57.170
<v Gast 2>Gute Sache, kann ich unterstützen.

01:37:58.450 --> 01:38:00.530
<v Gast 2>Amazon Fresh hast du hier aufgeschrieben.

01:38:01.090 --> 01:38:07.410
<v Gast 1>Ja, habe ich letztens mal, also wir hatten da jetzt im letzten Monat mal so den kostenlosen Probemonat,

01:38:07.730 --> 01:38:08.770
<v Gast 1>haben das mal benutzt.

01:38:08.930 --> 01:38:09.970
<v Gast 1>Ist schon nicht ganz übel.

01:38:10.050 --> 01:38:12.770
<v Gast 1>Also Amazon Fresh, ich weiß nicht, ob das mittlerweile in Deutschland ein Ding ist.

01:38:12.850 --> 01:38:13.810
<v Gast 1>Ansonsten will ich einfach mal.

01:38:14.130 --> 01:38:15.170
<v Unbekannt>Ich glaube, ich glaube nein.

01:38:15.250 --> 01:38:20.130
<v Gast 2>Ich glaube, es gibt wirklich ein sehr, sehr kleines Zielpublikum für diesen Pick, aber ich finde ihn auch gut.

01:38:20.290 --> 01:38:21.490
<v Gast 1>Also ja, ich fand vielleicht.

01:38:21.810 --> 01:38:22.930
<v Unbekannt>Was ist denn Amazon Fresh?

01:38:23.250 --> 01:38:28.210
<v Gast 1>Also Amazon Fresh ist im Endeffekt Amazon, aber für Dinge aus dem Supermarkt.

01:38:29.010 --> 01:38:29.250
<v Gast 1>Ja?

01:38:29.490 --> 01:38:31.010
<v Gast 1>Also kann man das so sagen?

01:38:31.330 --> 01:38:31.650
<v Gast 1>Ja.

01:38:32.130 --> 01:38:38.210
<v Gast 1>Also im Endeffekt, du hast halt eine, du hast auf Amazon.com hast du halt eine

01:38:38.530 --> 01:38:41.090
<v Gast 1>Unterseite, das ist irgendwie, ich glaube, Fresh.

01:38:42.130 --> 01:38:43.090
<v Gast 1>Amazon.com.

01:38:43.330 --> 01:38:45.730
<v Gast 1>Ist genauso aufgebaut wie der normale Amazon Shop.

01:38:45.970 --> 01:38:49.730
<v Gast 1>Du kannst da Dinge kaufen, du kannst sie in deinen Warenkorb tun, du kannst sie bestellen,

01:38:49.970 --> 01:38:52.770
<v Gast 1>nur mit dem Unterschied, dass es sich dann halt um Frischwaren handelt.

01:38:52.850 --> 01:38:58.290
<v Gast 1>Das funktioniert hier, weil zum Beispiel Amazon ja vor kurzem, na, wie heißen sie denn?

01:38:58.690 --> 01:39:01.090
<v Gast 1>Die Supermarktkette Whole Foods.

01:39:01.250 --> 01:39:05.490
<v Gast 1>Whole Foods, ja, also so ein super, also so ein Supermarkt, Schrägstich Biomarkt,

01:39:05.890 --> 01:39:09.730
<v Gast 1>mehr oder weniger ist irgendwie jetzt auch vor kurzem von Amazon gekauft worden.

01:39:10.130 --> 01:39:15.570
<v Gast 1>Dadurch, dass ich jetzt hier in der Stadt wohne, in der Amazon seinen Hauptsitz hat,

01:39:15.810 --> 01:39:17.890
<v Gast 1>ist das natürlich sehr gut ausgebaut hier.

01:39:18.210 --> 01:39:21.650
<v Gast 2>Selbst hier im Vorort in Silicon Valley auch kein Thema.

01:39:22.130 --> 01:39:25.650
<v Gast 1>Also ich weiß, jetzt kann jetzt ehrlich gesagt nicht sagen, wie das irgendwo in anderen Staaten auf dem Land

01:39:25.650 --> 01:39:25.810
<v Gast 1>ist.

01:39:25.890 --> 01:39:28.210
<v Gast 1>Also hier funktioniert es auf jeden Fall ziemlich gut.

01:39:28.850 --> 01:39:35.090
<v Gast 1>Und du kannst halt einfach, keine Ahnung, Eiermilch, sonst irgendwas, Gemüse, Obst und was auch immer.

01:39:35.250 --> 01:39:38.290
<v Gast 2>Ja, Hühnchenbrust, also alles selbst verderbliche Dinge.

01:39:38.690 --> 01:39:42.530
<v Gast 1>Selbst tiefgefrorene Sachen, also im Zweifelsfall, wenn du tiefgefrorene Sachen bestellst,

01:39:42.610 --> 01:39:45.570
<v Gast 1>dann sind die halt irgendwie in so Trockeneiscontainer eingepackt.

01:39:45.730 --> 01:39:51.010
<v Gast 1>Alles, was irgendwie in den Supermarkt in den Kühlschrank kommt, da sind dann immer irgendwie,

01:39:51.170 --> 01:39:55.650
<v Gast 1>das ist auch ganz clever gemacht, dann sind so gefrorene Plastikwasserflaschen,

01:39:55.890 --> 01:39:59.570
<v Gast 1>sind irgendwie mit reingestellt und dann, wenn du halt die Lieferung bekommen hast,

01:39:59.650 --> 01:40:01.650
<v Gast 1>dann kannst du halt einfach die irgendwo in den Kühlschrank stellen und warten,

01:40:01.730 --> 01:40:03.730
<v Gast 1>bis sie auftauen und dann kannst du sie trinken.

01:40:04.210 --> 01:40:05.730
<v Gast 2>Es war früher es ganz anders.

01:40:05.810 --> 01:40:08.130
<v Gast 2>Also ich hab das auch schon eine Weile, ich hab's dann mal gemacht,

01:40:08.210 --> 01:40:10.370
<v Gast 2>irgendwie für ein halbes Jahr, dann mal wieder ein halbes Jahr nicht.

01:40:10.530 --> 01:40:13.250
<v Gast 2>Am Anfang hattest du halt so riesige Plastiktaschen.

01:40:13.450 --> 01:40:17.930
<v Gast 2>Und du musstest, da war dann immer Trockeneis drin, sobald du irgendwas Verderbliches quasi hattest.

01:40:18.090 --> 01:40:23.290
<v Gast 2>Und du musstest dann immer diese Plastiktaschen, da war irgendwie Styropor noch drin und du musstest es dann

01:40:23.290 --> 01:40:27.450
<v Gast 2>wieder raustun, dass sie quasi die Taschen auf dem Rückweg wieder aufsammeln können.

01:40:27.850 --> 01:40:32.570
<v Gast 2>Aber das hat sich jetzt komplett geändert, ist jetzt alles Papier oder so eine Papier, ne?

01:40:33.290 --> 01:40:37.690
<v Gast 1>So Recycle, also das sind meistens dann so Tüten aus so Recyclingpapier.

01:40:37.930 --> 01:40:42.170
<v Gast 2>Genau, Recyclingpapiert-Tüten und wie gesagt Wasserflaschen.

01:40:42.250 --> 01:40:46.170
<v Gast 2>Also du kriegst auch gratis eine Wasserflasche, die ist gefroren und taucht dann irgendwann auf.

01:40:46.330 --> 01:40:49.850
<v Gast 1>Ich will es gar nicht wissen, dass viele Wasserflaschen in meinem Kühlschrank gerade stehen.

01:40:50.410 --> 01:40:53.210
<v Gast 2>Weil es auch von uns trinkt die auch keiner, wenn die mal auftritt sind.

01:40:53.370 --> 01:40:58.490
<v Gast 2>Oder halt Trockeneis, wenn es dann ein bisschen unter Trockeneis aber auch in Karton verpackt,

01:40:58.570 --> 01:41:03.450
<v Gast 2>also alles recycelbar, kannst du alles platt machen und in die grün-gelbe Tonne hier oder was auch immer das

01:41:03.450 --> 01:41:04.570
<v Gast 2>Äquivalent ist.

01:41:04.810 --> 01:41:08.410
<v Gast 2>Und was ich immer sehr geil fand, ist, dass du halt tatsächlich, ich könnte jetzt,

01:41:08.490 --> 01:41:12.730
<v Gast 2>ist halb neun Uhr abends, ich könnte jetzt zu Amazon Fresh gehen und sagen,

01:41:12.810 --> 01:41:19.050
<v Gast 2>ich hätte gerne Pre-Sunrise Delivery vor meiner Haustür und dann kommt da irgendwie um,

01:41:19.290 --> 01:41:25.290
<v Gast 2>durch Magie kommt dann um 6.30 Uhr morgens einer und oder um 6 Uhr morgens und stellt mir das Zeug vor die

01:41:25.290 --> 01:41:25.690
<v Gast 2>Türe.

01:41:25.850 --> 01:41:27.930
<v Gast 2>Und ich wache dann auf, laufe zur Tür und habe mein Zeug.

01:41:28.090 --> 01:41:33.130
<v Gast 1>Und ich meine, das ist jetzt eigentlich gerade in den USA auch so ein bisschen ein Problem,

01:41:33.690 --> 01:41:36.090
<v Gast 1>was viele Leute wahrscheinlich nicht verstehen.

01:41:36.570 --> 01:41:42.250
<v Gast 1>Weil man, ich hat, ich meine, die Supermärkte hier haben auch sonntags offen und die haben auch samstags offen

01:41:42.330 --> 01:41:44.810
<v Gast 1>und die haben im Zweifelsfall auch 24 Stunden offen.

01:41:45.210 --> 01:41:52.010
<v Gast 1>Aber es ist halt einfach so, also im Normalfall ist es halt, meine Frau und ich, wir sind beide berufstätig.

01:41:52.170 --> 01:41:57.050
<v Gast 1>Klar könnten wir mal sagen, wir gehen jetzt hier irgendwie mal einkaufen und wir laufen nur mal zum Supermarkt

01:41:57.050 --> 01:42:01.210
<v Gast 1>und so, aber dann ist man halt dann doch irgendwie faul und meistens haben wir es dann irgendwie aufs

01:42:01.210 --> 01:42:06.570
<v Gast 1>Wochenende gelegt und dann ist es halt so, dass wir beide, dass wir halt gerne wandern gehen und normalerweise

01:42:06.570 --> 01:42:09.770
<v Gast 1>war es dann immer so, wir sind sonntags wandern gegangen, waren dann irgendwie,

01:42:09.850 --> 01:42:13.850
<v Gast 1>keine Ahnung, 20 Kilometer in den Bergen wandern, sind komplett verschwitzt,

01:42:13.930 --> 01:42:18.410
<v Gast 1>versifft, irgendwie wieder zurückgekommen, sind dann noch irgendwie mal in dem Zustand durch den Supermarkt

01:42:18.410 --> 01:42:22.170
<v Gast 1>gerannt, haben das Notwendigste mitgenommen und jetzt können wir halt einfach sagen,

01:42:22.250 --> 01:42:26.570
<v Gast 1>hey, samstags abends überlegen wir uns, was wir brauchen, machen uns unsere Liste,

01:42:26.650 --> 01:42:31.290
<v Gast 1>das dauert irgendwie ein paar Minuten, klicken auf Abschicken und am Sonntagabend,

01:42:31.370 --> 01:42:34.490
<v Gast 1>wenn wir vom Wandern kommen, steht halt die Lieferung vor der Tür und alles,

01:42:34.570 --> 01:42:36.810
<v Gast 1>was wir machen müssen, ist es halt einen Kühlschrank einzupacken.

01:42:36.890 --> 01:42:42.410
<v Gast 1>Also klar, man bezahlt dafür einen Preis, kostet glaube ich irgendwie gerade irgendwie 15 Dollar so eine

01:42:42.970 --> 01:42:46.330
<v Gast 1>Grundgebühr pro Monat, dass man das benutzen kann.

01:42:46.490 --> 01:42:48.170
<v Gast 2>Und du brauchst Prime dazu, glaube ich.

01:42:48.330 --> 01:42:50.250
<v Gast 2>Genau, auf Prime nochmal 15 Dollar drauf.

01:42:50.570 --> 01:42:56.410
<v Gast 1>Genau, ich glaube, man braucht Prime und normalerweise zahlt man dann halt pro Lieferung nochmal irgendwie ein

01:42:56.410 --> 01:42:58.730
<v Gast 1>Trinkgeld an die Person, die einem die Sache liefert.

01:42:59.370 --> 01:43:00.730
<v Gast 2>Kannst du auch nicht, wenn du nicht willst.

01:43:01.050 --> 01:43:02.330
<v Gast 1>Weil es ist irgendwie assi.

01:43:02.890 --> 01:43:07.530
<v Gast 2>Ja, ist assi, weil ganz ehrlich, der fährt irgendwie um 6.30 Uhr morgens rum und hat meine,

01:43:07.770 --> 01:43:13.290
<v Gast 2>keine Ahnung, meine Coke Zero, mein Kasten Coke Zero, meine 8 Mineralwasser und hat irgendwie fünf Taschen

01:43:13.290 --> 01:43:14.650
<v Gast 2>oder so rum um sich rum.

01:43:15.290 --> 01:43:19.370
<v Gast 2>Und generell, ich habe mir überlegt, wie viel ich, also ich gehe gerne einkaufen,

01:43:19.450 --> 01:43:21.290
<v Gast 2>eigentlich eher nicht, das ist nur ein bisschen nervig.

01:43:21.370 --> 01:43:24.570
<v Gast 2>Gerade wenn du so Mineralwasser, dann musst du das noch tragen.

01:43:25.290 --> 01:43:25.930
<v Gast 2>Doof.

01:43:26.410 --> 01:43:30.010
<v Gast 2>Und dann lieber mit dem Auto und dann aber musst du wieder parken.

01:43:30.090 --> 01:43:35.210
<v Gast 2>Und im Endeffekt, ich gehe wahrscheinlich dreimal, viermal pro Monat wahrscheinlich einkaufen,

01:43:35.290 --> 01:43:37.210
<v Gast 2>so jedes Wochenende im Normalfall.

01:43:37.450 --> 01:43:44.250
<v Gast 2>Und jedes Mal mindestens Zeit von irgendwie aus dem Haus raus ins Auto,

01:43:44.410 --> 01:43:47.850
<v Gast 2>fünf Minuten zum Einkaufen fahren oder irgendwie hinlaufen, 10 Minuten,

01:43:47.930 --> 01:43:51.370
<v Gast 2>15 Minuten, darin rummachen, das dauert mindestens eine Stunde.

01:43:51.530 --> 01:43:56.330
<v Gast 2>So alles zusammen, also außer man geht auf dem Highweg irgendwie am Supermarkt vorbei,

01:43:56.410 --> 01:44:00.090
<v Gast 2>aber ich sag mal, ich sag mal, vier, fünf Stunden pro Monat auf jeden Fall.

01:44:01.050 --> 01:44:07.450
<v Gast 2>Und dafür so die 15 Dollar oder selbst wenn es dann irgendwie 20 sind, das ist auf meinen Stundenlohn.

01:44:07.530 --> 01:44:11.450
<v Gast 2>Da würde ich lieber, wenn jemand sagen würde, hey Marc, ich gehe für dich einkaufen und du zahlst mir 3 Dollar

01:44:11.450 --> 01:44:13.850
<v Gast 2>dafür, würde ich sagen, ja, geil, das ist gut.

01:44:14.090 --> 01:44:16.810
<v Gast 2>Und da kommt es dann halt drauf raus und die Preise sind auch gar nicht.

01:44:17.210 --> 01:44:23.770
<v Gast 2>Also es ist so, die sind nicht super billig, aber sie sind so Safeway-mäßig oder was auch.

01:44:23.930 --> 01:44:25.450
<v Unbekannt>Wie heißt es bei dir QFC?

01:44:26.090 --> 01:44:27.450
<v Unbekannt>QFC heißt bei euch so.

01:44:27.690 --> 01:44:29.050
<v Gast 1>Also Safeway gibt es bei uns hier auch.

01:44:29.130 --> 01:44:32.410
<v Gast 1>Also ich würde sagen, Safeway und QFC, das sind jetzt zumindest, ich weiß jetzt nicht,

01:44:32.490 --> 01:44:35.050
<v Gast 1>ich glaube QFC ist so eine Washington-lokale Sache.

01:44:35.370 --> 01:44:39.930
<v Gast 1>Das ist so jetzt, würde ich mal sagen, vergleichbar in Deutschland mit irgendwie Rewe und Edeka vielleicht.

01:44:40.410 --> 01:44:41.450
<v Unbekannt>Rewe und Edeka, genau.

01:44:41.610 --> 01:44:44.570
<v Gast 2>Also es ist nicht billig, es gibt schon einige Sachen, die okay sind,

01:44:44.890 --> 01:44:48.170
<v Gast 2>aber im Normalfall ist es auch nicht super teuer.

01:44:48.250 --> 01:44:52.170
<v Gast 2>Und Qualität ist bei Amazon Fresh, muss ich sagen, erstaunlich gut.

01:44:52.250 --> 01:44:56.970
<v Gast 2>Also jedes Mal, wenn ich Obst oder Früchte, also wir haben immer so Brombian oder so,

01:44:57.050 --> 01:45:00.170
<v Gast 2>die wir noch mitkaufen, kriegst du echt die Guten.

01:45:00.250 --> 01:45:04.170
<v Gast 2>Also da ist kein Schimmel dran, die sind alle noch gut, keine Dädeln und alles.

01:45:05.850 --> 01:45:10.570
<v Gast 1>Ja, also ich bin auch, wir haben auch gedacht, wir probieren das jetzt mal aus, so zum Spaß.

01:45:11.130 --> 01:45:13.210
<v Gast 1>Und haben das jetzt ein paar Wochen gemacht und jetzt sind wir schon,

01:45:13.290 --> 01:45:15.690
<v Gast 1>dass wir mir überlegen, ob wir es dann halt irgendwie weitermachen,

01:45:15.850 --> 01:45:18.410
<v Gast 1>weil es ist halt schon sehr, sehr praktisch.

01:45:18.490 --> 01:45:22.570
<v Gast 1>Und so einkaufen, wie du schon gesagt hast, es macht halt jetzt nicht so unfassbar viel Spaß.

01:45:22.730 --> 01:45:26.010
<v Gast 1>Das weitere Problem ist, dass wir halt, wir wohnen halt wirklich mitten in der Stadt,

01:45:26.730 --> 01:45:31.050
<v Gast 1>da sind dann halt auch, wenn man jetzt mal einen größeren Einkauf tätigen will oder vielleicht auch mal ein

01:45:31.050 --> 01:45:34.570
<v Gast 1>bisschen, sagen wir mal, schwerere Dinge einkaufen will, ist es dann halt auch ein Problem,

01:45:34.650 --> 01:45:39.690
<v Gast 1>dann irgendwie, hast du ein irgendwie total verwinkeltes Parkhaus, wo irgendwie Leute nicht Auto fahren können

01:45:39.690 --> 01:45:42.330
<v Gast 1>und dann irgendwie einfach rückwärts fahren, ohne irgendwie zu gucken,

01:45:42.410 --> 01:45:44.650
<v Gast 1>wer da hinter, hinten im Auto hinten dran steht.

01:45:45.290 --> 01:45:50.010
<v Gast 1>Also ich hatte da schon alle möglichen irgendwelchen Erfahrungen, wo ich dann halt auch irgendwie drauf

01:45:50.090 --> 01:45:51.370
<v Gast 1>verzichten kann, muss ich sagen.

01:45:51.450 --> 01:45:55.210
<v Gast 1>Also das ist, also es ist ein totales Luxusproblem.

01:45:55.370 --> 01:45:59.370
<v Gast 1>Das ist ein totales, einfach nur, okay, ich möchte jetzt ein paar Stunden im Monat sparen,

01:45:59.530 --> 01:46:01.930
<v Gast 1>wo ich vielleicht irgendwie mehr Spaß habe als beim Mike.

01:46:02.250 --> 01:46:06.090
<v Gast 2>Ja, es ist glaube ich auch sowas, wo ich unter 30 hatte ich da auch noch nie so Verständnis für.

01:46:06.170 --> 01:46:10.010
<v Gast 2>Aber jetzt denke ich mir so, Zeit habe ich weniger, Geld habe ich mehr.

01:46:10.410 --> 01:46:12.410
<v Gast 2>Vielleicht tausche ich das jetzt einfach.

01:46:12.810 --> 01:46:18.090
<v Gast 2>Und es ist sicher irgendwie unendlich problematisch auf 18 verschiedene Arten, aber es ist einfach so gut.

01:46:18.330 --> 01:46:20.410
<v Gast 1>Ich bin mal gespannt, wie viele Hasskommentare wir bekommen.

01:46:21.370 --> 01:46:21.690
<v Gast 1>Super geil.

01:46:21.930 --> 01:46:24.570
<v Gast 1>Wie unfassbar faul wir sind und sonst irgendwas.

01:46:25.050 --> 01:46:27.130
<v Gast 1>Ich meine, die Leute haben damit recht.

01:46:27.290 --> 01:46:28.410
<v Gast 1>Wir sind unfassbar faul.

01:46:29.130 --> 01:46:29.690
<v Gast 1>Ich meine, ganz ehrlich.

01:46:30.890 --> 01:46:33.130
<v Gast 2>Aber deswegen arbeite ich ja.

01:46:33.210 --> 01:46:35.770
<v Gast 2>Das ist keiner beschwert sich, dass Renten noch faul sind.

01:46:36.810 --> 01:46:43.610
<v Gast 2>Nee, was auch ganz cool ist, finde ich, bei Fresh, dass du selbst das Einkaufen

01:46:43.690 --> 01:46:45.450
<v Gast 2>im Normalfall kaufst du dir immer dasselbe ein.

01:46:45.530 --> 01:46:50.330
<v Gast 2>Ich kaufe immer dieselbe Kokosnussmilch hier bei Trader Joe oder ich kaufe immer alles, immer das gleiche.

01:46:50.490 --> 01:46:53.610
<v Gast 2>Und wenn du das ein paar Mal gemacht hast, dann A schlägt er dir neue Dinge vor,

01:46:53.690 --> 01:46:55.050
<v Gast 2>die dir eventuell gefallen könnten.

01:46:55.130 --> 01:46:57.130
<v Gast 2>So Machine Learning-mäßig, ist ganz nett.

01:46:57.290 --> 01:47:01.370
<v Gast 2>Und selbst wenn du das nicht willst, du kannst einfach sagen, hier meinen letzten Einkauf,

01:47:01.530 --> 01:47:04.410
<v Gast 2>bitte füg genau dasselbe nochmal in meinen Warenkorb.

01:47:04.570 --> 01:47:08.330
<v Gast 2>Oder du siehst halt irgendwie Board Recently, siehst du halt die 40 Dinge,

01:47:08.410 --> 01:47:11.850
<v Gast 2>die du im Normalfall kaufst und du klickst dann einfach drauf und sagst hier einmal,

01:47:11.930 --> 01:47:14.170
<v Gast 2>genau, ich will wieder das, das, das, das, das.

01:47:14.330 --> 01:47:17.450
<v Gast 2>Also das wäre, als wenn der Supermarkt quasi eine eigene Ecke für dich hätte,

01:47:17.530 --> 01:47:21.850
<v Gast 2>wo nur das Zeug steht, das du kaufst und du musst nicht irgendwie 18 Mal im Kreis laufen,

01:47:21.930 --> 01:47:23.690
<v Gast 2>um den ganzen Ramsch zusammenzutragen.

01:47:23.850 --> 01:47:25.290
<v Gast 2>Ist schon gut, kann man nichts sagen.

01:47:25.370 --> 01:47:31.370
<v Gast 1>Ja, also wo wir gerade noch dabei waren in Sachen mal interessante neue Sachen oder mal anderes Obst oder

01:47:31.370 --> 01:47:32.250
<v Gast 1>sonst irgendwas kaufen.

01:47:32.490 --> 01:47:36.810
<v Gast 1>Was wir auch noch nebenher haben, ist Imperfect Produce.

01:47:37.130 --> 01:47:39.370
<v Gast 2>Ja, ja, habe ich auch gesehen, die Werbung dafür.

01:47:40.170 --> 01:47:44.410
<v Gast 1>Also ist irgendwie ganz cool, das ist halt so ein Dienst, die kaufen halt,

01:47:44.490 --> 01:47:48.330
<v Gast 1>sagen wir mal, irgendwie Überschusswaren oder irgendwelche, sagen wir mal,

01:47:48.490 --> 01:47:53.290
<v Gast 1>Obstgemüsegeschichten, die normalerweise irgendwo aussortiert werden,

01:47:53.370 --> 01:47:57.770
<v Gast 1>weil sie den Schönheitsidealen im Supermarkt nicht entsprechen, kaufen die halt auf.

01:47:58.010 --> 01:48:02.730
<v Gast 1>Du kriegst da irgendwie also Bio-Obstgemüse, sonst irgendwas, das ist total gute Qualität eigentlich.

01:48:02.890 --> 01:48:07.210
<v Gast 1>Und die liefern dir das halt einmal die Woche heim und du kriegst dann halt meistens auch irgendwelche gerade

01:48:07.210 --> 01:48:08.170
<v Gast 1>lokalen Sachen.

01:48:09.210 --> 01:48:14.730
<v Gast 1>Du, ähm, ich glaube, standardmäßig funktioniert es so, dass die dir halt so einen Einkaufskorb vorbereiten.

01:48:14.970 --> 01:48:20.730
<v Gast 1>Also in Form von, du hast dann halt irgendwie auf deren Webseite, siehst du, was es denn gibt.

01:48:20.810 --> 01:48:25.610
<v Gast 1>Dann ist da schon mal was Lokales drin, was jetzt gerade irgendwo hier in der Gegend wächst.

01:48:26.090 --> 01:48:29.610
<v Gast 1>Und wenn du keinen Bock drauf hast, kannst du das halt austauschen durch irgendwelche anderen Sachen,

01:48:29.690 --> 01:48:30.330
<v Gast 1>die du willst.

01:48:30.490 --> 01:48:35.370
<v Gast 1>Aber standardmäßig ist es dann halt schon so anhand des Preises,

01:48:35.530 --> 01:48:40.570
<v Gast 1>den du dafür zahlen willst, ist es halt schon standardmäßig fertig zusammengestellt und du kannst dann halt

01:48:40.810 --> 01:48:42.170
<v Gast 1>einfach Dinge ersetzen.

01:48:42.490 --> 01:48:43.050
<v Gast 1>Also.

01:48:43.530 --> 01:48:46.330
<v Gast 2>Ist günstiger, glaube ich, als normales Gemüse und Obst, ne?

01:48:46.410 --> 01:48:46.490
<v Gast 2>Ja.

01:48:46.730 --> 01:48:47.690
<v Unbekannt>So im Normalfall.

01:48:47.770 --> 01:48:52.090
<v Gast 2>Und weil halt sieht ein bisschen irgendwie wie der Apfel hat irgendeinen komischen Knubbel außen dran oder so.

01:48:52.330 --> 01:48:58.090
<v Gast 1>Ja, oder du hast halt irgendwelche bisschen komisch geformte Kiwis oder du hast zum Beispiel irgendwelche,

01:48:58.330 --> 01:49:02.730
<v Gast 1>ich weiß nicht, also manchmal sind es auch einfach Sachen, die sind einfach nur Überschuss,

01:49:02.890 --> 01:49:03.210
<v Gast 1>die einfach.

01:49:03.530 --> 01:49:08.730
<v Gast 2>Also einfach weniger, weniger Macken, also wo es dann wirklich ganz hässlich ist, sondern einfach nur komisch.

01:49:09.050 --> 01:49:10.330
<v Gast 1>Wir sind einfach nur komisch gewachsen.

01:49:10.410 --> 01:49:13.610
<v Gast 1>Also das ist gar nicht so, dass du einen Apfel hast, der dann irgendwelche Macken hat und dann demnächst

01:49:13.610 --> 01:49:16.890
<v Gast 1>anfängt zu faulen, sondern du hast da vielleicht einen Apfel, der ist ein bisschen größer oder ein bisschen

01:49:16.890 --> 01:49:22.330
<v Gast 1>kleiner als die Norm oder der hat halt irgendwie den Knubbel an der falschen Stelle oder der hat irgendwo mal

01:49:22.330 --> 01:49:26.010
<v Gast 1>vielleicht eine Beule, die gewachsen ist, aber die halt, weißt du, solche Sachen.

01:49:26.170 --> 01:49:26.730
<v Gast 1>Ja, Apfel halt.

01:49:27.770 --> 01:49:29.130
<v Gast 2>Wie ist denn die Lieferung bei denen?

01:49:29.210 --> 01:49:31.690
<v Gast 2>Also musst du da da sein oder werfen die es dir einfach vor den Ausstattung?

01:49:31.850 --> 01:49:34.410
<v Gast 1>Also bei mir ist es so, die stellen das einfach vor die Haustür.

01:49:34.730 --> 01:49:35.290
<v Gast 1>Okay, cool.

01:49:35.450 --> 01:49:35.690
<v Gast 1>Genau.

01:49:35.770 --> 01:49:36.890
<v Gast 2>Der hat das wollte ich auch schon.

01:49:36.970 --> 01:49:39.690
<v Gast 2>Ich habe mich schon fast mich halb durchgeklickt und muss dann irgendwie weg,

01:49:39.850 --> 01:49:42.410
<v Gast 2>aber das anscheinend funktioniert deren Werbung, ja.

01:49:43.610 --> 01:49:47.610
<v Gast 1>Ja, also wir hatten da, das ist glaube ich schon mittlerweile der dritte Anbieter in der Richtung,

01:49:47.690 --> 01:49:51.130
<v Gast 1>die wir mal so ein bisschen ausprobiert haben, einfach nur um Obst und Gemüse zu bekommen,

01:49:51.290 --> 01:49:54.970
<v Gast 1>was halt ganz nett ist, weil die meisten dieser Anbieter sind halt dann irgendwie so,

01:49:55.130 --> 01:50:01.530
<v Gast 1>ja, die kaufen dann halt Sachen an, die irgendwo von lokalen Farmen kommen oder sonst irgendwas und du kriegst

01:50:01.530 --> 01:50:03.130
<v Gast 1>es halt auch direkt geliefert.

01:50:04.570 --> 01:50:07.690
<v Gast 1>Wir hatten jetzt bei ein paar so Probleme, dass zum Beispiel, wie du schon gesagt hast,

01:50:07.770 --> 01:50:11.850
<v Gast 1>dann kriegst du halt irgendwelche Blaubeeren oder Brombeeren oder so geliefert und die fangen dann halt schon

01:50:11.850 --> 01:50:12.810
<v Gast 1>an zu schimmeln und so.

01:50:12.890 --> 01:50:14.730
<v Gast 1>Das ist dann halt irgendwie nicht so geil.

01:50:15.370 --> 01:50:16.970
<v Gast 2>Okay, aber das ist jetzt eher weniger da.

01:50:17.370 --> 01:50:21.530
<v Gast 1>Nee, nee, das ist jetzt hatten wir bis jetzt eigentlich noch quasi nicht bei dem.

01:50:22.330 --> 01:50:25.610
<v Gast 1>Wir hatten diese Probleme bei anderen Anbietern, deswegen sind wir da nicht mehr.

01:50:25.850 --> 01:50:26.090
<v Gast 1>Okay.

01:50:26.410 --> 01:50:26.650
<v Gast 1>Genau.

01:50:26.730 --> 01:50:27.290
<v Gast 1>Okay, cool.

01:50:27.370 --> 01:50:29.290
<v Gast 2>Nee, super, dann muss ich auch.

01:50:30.650 --> 01:50:32.570
<v Unbekannt>Hast du einen Referral-Link, muss ich sagen.

01:50:32.970 --> 01:50:36.890
<v Gast 1>Da muss ich bestimmt habe ich einen Referral-Link, da muss ich allerdings meine Frau fragen,

01:50:36.970 --> 01:50:39.210
<v Gast 1>weil du schaust dir nachher Account managed.

01:50:40.090 --> 01:50:41.050
<v Gast 2>Kein Ding nett.

01:50:41.130 --> 01:50:45.210
<v Gast 2>Okay, mein Pick, äh, NoDread, habe ich mich, ich habe es schon lange gelesen,

01:50:45.370 --> 01:50:51.690
<v Gast 2>No-Dread ist so quasi klickibunti für Internet of Things Zeug.

01:50:52.330 --> 01:50:54.250
<v Gast 2>Flow-based Programming nennen die das.

01:50:54.330 --> 01:51:01.290
<v Gast 2>Also das ist so, kannst du so reinziehen, hier Logikbausteine und integriert sich in

01:51:01.290 --> 01:51:06.650
<v Gast 2>Home Assistant, den ich ja letztes Mal gepickt hatte, gibst da als Add-on ein Klick und dann funktioniert es.

01:51:06.970 --> 01:51:12.810
<v Gast 2>Und es ist so ein webbasiertes Dingens, wo du quasi deine Automatisierungsregeln

01:51:13.770 --> 01:51:18.010
<v Gast 2>als Diagramm quasi dir zusammenklicken kannst.

01:51:18.090 --> 01:51:22.330
<v Gast 2>Also du kannst dann sagen, hier du hast immer einen Trigger,

01:51:22.410 --> 01:51:29.290
<v Gast 2>also entweder eine Uhrzeit, so jeden Morgen um 7.30 Uhr und dann ziehst du quasi bitte

01:51:29.290 --> 01:51:35.370
<v Gast 2>irgendwie Gerät anschalten, ziehst du rein und dann verbindest du die und dann kommt halt jeden Morgen um 7.30

01:51:35.370 --> 01:51:41.930
<v Gast 2>Uhr feuert quasi dieses der eine Baustein ein Event ab und er geht dann halt über die Verbindungen zu den

01:51:41.930 --> 01:51:46.650
<v Gast 2>anderen Bausteinen und dann kannst du halt auch sagen, jeden Morgen um 7.30 Uhr und das ist der zweite

01:51:46.650 --> 01:51:53.210
<v Gast 2>Baustein, wenn die Sonne schon da ist, also das ist dann im Winter nicht oder im Sommer nicht oder was auch

01:51:53.210 --> 01:51:57.450
<v Gast 2>immer, und du kannst dann halt so Boolean-Dinger machen,

01:51:57.530 --> 01:52:02.090
<v Gast 2>wo du dann sagst, ja, und wenn ich zu Hause bin und wenn meine Frau zu Hause ist,

01:52:02.170 --> 01:52:05.050
<v Gast 2>und du kannst es halt einfach zusammenklicken, coole Sache.

01:52:05.210 --> 01:52:10.570
<v Gast 2>Und das Debugging ist auch ganz nett, du kannst dann quasi so manuelle Trigger machen,

01:52:10.650 --> 01:52:13.850
<v Gast 2>dass du sagst dann, okay, ich will jetzt aber nicht bis 7.30 Uhr warten,

01:52:13.930 --> 01:52:18.170
<v Gast 2>sondern du sagst dann hier, jetzt ziehe ich den manuellen Trigger rein und verbinde den auch noch damit und

01:52:18.170 --> 01:52:19.210
<v Gast 2>feuerst den ab.

01:52:19.370 --> 01:52:25.450
<v Gast 2>Oder du kannst dann zum Beispiel auch so jederzeit so einen Debugging-Baustein reinsetzen und dann sagst du

01:52:25.450 --> 01:52:28.730
<v Gast 2>einfach, jetzt bitte einmal freuen und du siehst dann, was bei diesem Baustein ankommt.

01:52:29.050 --> 01:52:34.410
<v Gast 2>Kannst du also auch ein bisschen so Skripten, so JavaScript-Zeug und ich habe jetzt meine komplette

01:52:34.650 --> 01:52:38.970
<v Gast 2>Automatisierung, die ich in Home Assistant in diese YAML-Datei gemacht habe,

01:52:39.130 --> 01:52:44.570
<v Gast 2>habe ich alles über irgendwie keine halbe Stunde gedauert, nach Node-Read das Ganze reingemacht und muss

01:52:44.570 --> 01:52:45.610
<v Gast 2>sagen, bin echt zufrieden.

01:52:45.770 --> 01:52:48.650
<v Gast 2>Also funktioniert echt cool und ich habe einige Sachen machen können,

01:52:48.730 --> 01:52:52.410
<v Gast 2>die ich halt einfach in einer Textdatei, die nicht automatisch generiert wurde,

01:52:52.570 --> 01:52:54.250
<v Gast 2>so hätte ich die nicht hinkriegen können.

01:52:54.650 --> 01:52:56.090
<v Gast 2>Also, coole Sache.

01:52:56.250 --> 01:53:02.090
<v Gast 1>Also das hört sich jetzt so ein bisschen an, wie so if this then that für deine Home Automation,

01:53:02.170 --> 01:53:02.810
<v Gast 1>so ein bisschen.

01:53:03.210 --> 01:53:07.450
<v Gast 2>Genau, und halt, dass du wesentlich mehr Möglichkeiten hast.

01:53:07.610 --> 01:53:12.490
<v Gast 2>Du kannst ja irgendwelche Events aufsplitten und dann kannst du sagen, okay, ich ändere die jetzt um.

01:53:12.650 --> 01:53:14.410
<v Unbekannt>Also dass du sagst dann, okay, wenn.

01:53:14.650 --> 01:53:20.570
<v Gast 2>Also gerade so das klassische Beispiel bei mir ist halt, wenn sowohl ich nicht zu Hause bin,

01:53:20.730 --> 01:53:26.730
<v Gast 2>als auch meine Frau nicht zu Hause ist, dann bitte die Klimaanlage auf Öko-Modus schalten,

01:53:26.810 --> 01:53:29.770
<v Gast 2>dass die quasi nicht mehr kühlt oder heizt im Winter.

01:53:30.010 --> 01:53:35.450
<v Gast 2>Und das geht halt nur bedingt, wenn du dann so das eine,

01:53:36.570 --> 01:53:42.890
<v Gast 2>die eine Condition und die andere Condition und dann aber, wenn gleichzeitig auch noch keine Hausgäste da sind

01:53:42.970 --> 01:53:48.410
<v Gast 2>und die Hausgäste kannst du irgendwie über den, wenn der Bewegungssensor seit 10 Minuten sich nicht mehr

01:53:48.730 --> 01:53:54.810
<v Gast 2>bewegt hat und du kannst es halt echt super leicht alles zusammenklicken und Node-Rad kann ich empfehlen.

01:53:54.890 --> 01:53:55.370
<v Gast 2>Ist ganz cool.

01:53:55.530 --> 01:53:55.610
<v Gast 2>Cool.

01:53:55.770 --> 01:54:00.330
<v Gast 2>Und gerade Home Assistant dieses Hass-IO, Hassio, da ist es ein Add-on,

01:54:00.490 --> 01:54:04.250
<v Gast 2>also klickst du, sagt einmal bitte Node-Red drauf machen und dann warst du es im Grunde.

01:54:04.410 --> 01:54:11.210
<v Gast 1>Ja, und das funktioniert dann quasi so, dass dein Node-Red quasi Events von deinem Home Assistant

01:54:11.210 --> 01:54:12.010
<v Gast 1>bekommt.

01:54:12.410 --> 01:54:12.730
<v Gast 1>Ja.

01:54:13.130 --> 01:54:19.450
<v Gast 1>Und aber dann auch dem Home Assistant wieder quasi sagt, was er denn tun soll.

01:54:19.850 --> 01:54:23.610
<v Gast 2>Genau, also die API geht sowohl rein als auch raus, der kann sich auf Events subscriben,

01:54:23.690 --> 01:54:27.930
<v Gast 2>das ist Push-Based und er pusht aber auch in den Home Assistant rein.

01:54:28.170 --> 01:54:32.410
<v Gast 2>Und ist also, dass alles auf demselben Host läuft, den kannst du ja auch auf verschiedenen laufen lassen,

01:54:32.650 --> 01:54:35.770
<v Gast 2>aber das funktioniert echt gut, muss ich sagen.

01:54:36.570 --> 01:54:37.050
<v Gast 2>Cool.

01:54:40.010 --> 01:54:43.290
<v Gast 1>Genau, ich habe jetzt vielleicht auch ein bisschen esoterischen Tipp.

01:54:43.450 --> 01:54:48.330
<v Gast 1>Und zwar geht es um den Ergo-Driven,

01:54:48.890 --> 01:54:50.890
<v Gast 1>ich glaube Spark heißt dieses Teil.

01:54:51.530 --> 01:54:55.530
<v Gast 1>Es ist ein, wie soll man das sagen, ein stetisch Konverter aus Carton.

01:54:56.010 --> 01:54:56.730
<v Gast 1>Im weitesten.

01:54:58.010 --> 01:55:01.050
<v Gast 2>Konverter ist ein bisschen viel, aber ja.

01:55:01.290 --> 01:55:01.530
<v Gast 2>Ja.

01:55:01.770 --> 01:55:06.410
<v Gast 1>Also es ist quasi, mein Use Case ist, ich arbeite ein paar Tage die Woche von daheim.

01:55:07.530 --> 01:55:13.050
<v Gast 1>Ich will irgendwie gucken, dass ich gerade auch irgendwie was so, wie Rückenprobleme oder sonst irgendwelche

01:55:13.050 --> 01:55:16.490
<v Gast 1>Geschichten will ich einfach versuchen, mehr im Stehen zu arbeiten.

01:55:16.650 --> 01:55:19.450
<v Gast 1>Auf der Arbeit ist das alles kein Problem, weil da habe ich halt irgendwie einen Schreibtisch,

01:55:19.530 --> 01:55:20.810
<v Gast 1>den ich hoch und runter fahren kann.

01:55:20.970 --> 01:55:22.730
<v Gast 1>Daheim ist es jetzt nicht so der Fall.

01:55:22.890 --> 01:55:26.010
<v Gast 1>Oder gerade auch so, wenn wir hier jetzt podcasten, es gibt keinen Grund für mich,

01:55:26.090 --> 01:55:30.650
<v Gast 1>warum ich jetzt die ganze Zeit auf einem Schreibtischstuhl sitzen und da rumlimmeln müsste.

01:55:31.450 --> 01:55:36.410
<v Gast 1>Und während ich hier rede, kann ich halt auch einfach ein bisschen in der Gegend rumlaufen oder einfach

01:55:36.410 --> 01:55:36.890
<v Gast 1>stehen.

01:55:37.130 --> 01:55:40.330
<v Gast 1>Dadurch, dass ich hier allerdings in dem Zimmer, in dem ich gerade bin,

01:55:40.410 --> 01:55:45.770
<v Gast 1>nicht super viel Platz habe, habe ich halt nur so einen kleinen IKEA-Schreibtisch,

01:55:46.090 --> 01:55:48.410
<v Gast 1>den ich halt es eigentlich auch nicht austauschen will.

01:55:48.570 --> 01:55:53.130
<v Gast 1>Und ich wüsste jetzt auch nicht, ob ich mir jetzt überhaupt einen, sagen wir mal,

01:55:54.170 --> 01:55:55.930
<v Gast 1>einen größeren Schreibtisch kaufen wollte.

01:55:56.010 --> 01:56:01.370
<v Gast 1>Zum einen aus Platzgründen, zum anderen aus ich will jetzt den anderen Schreibtisch nicht deswegen irgendwie

01:56:01.370 --> 01:56:03.130
<v Gast 1>loswerden oder sonst was.

01:56:04.890 --> 01:56:09.290
<v Gast 1>Und dadurch, dass das jetzt irgendwie eher so vielleicht ein, zwei Tage die Woche ist,

01:56:10.090 --> 01:56:11.690
<v Gast 1>brauche ich dann auch nicht ständig.

01:56:12.010 --> 01:56:14.090
<v Gast 1>Hab mich da mal umgeguckt, was es denn so gibt.

01:56:14.170 --> 01:56:18.890
<v Gast 1>Und dieses Ding, dieser Spark, das ist tatsächlich halt,

01:56:18.970 --> 01:56:23.530
<v Gast 1>das ist wie so ein Gestell aus Kartonstücken.

01:56:24.090 --> 01:56:27.370
<v Gast 1>Also auch irgendwie so, keine Ahnung, so ein normaler, so eine Karte.

01:56:28.250 --> 01:56:31.450
<v Gast 2>Sieht aus wie ein kleiner Tisch mit einem noch kleineren Tisch oben drauf.

01:56:31.610 --> 01:56:32.010
<v Gast 2>Genau.

01:56:32.250 --> 01:56:38.090
<v Gast 1>Und was das Teil halt tut, ist, man kann diese Kartonstücke ineinander stecken und die bilden dann ein

01:56:38.090 --> 01:56:45.050
<v Gast 1>erstaunlich stabiles Gestell oder ein erstaunlich stabiles Podest

01:56:45.050 --> 01:56:46.250
<v Gast 1>oder wie auch immer man es nennen will.

01:56:46.410 --> 01:56:47.370
<v Unbekannt>Ja, Podest ist klar.

01:56:48.010 --> 01:56:51.530
<v Gast 1>Und man kann dann halt quasi, also ich habe das jetzt in der Konfiguration,

01:56:51.690 --> 01:56:54.890
<v Gast 1>also man hat da die auf diese beiden Ebenen, die du beschrieben hast,

01:56:55.530 --> 01:57:00.330
<v Gast 1>ich habe oben einen Monitor draufstehen, man könnte da jetzt auch direkt einen Laptop oben draufstellen.

01:57:00.410 --> 01:57:06.330
<v Gast 1>Auf der unteren Ebene habe ich dann so meine Tastatur und mein Trackpad stehen.

01:57:06.490 --> 01:57:12.490
<v Gast 1>Die sind dann so auf Armhöhe, sodass ich da halt bequem im Stehen daran arbeiten kann.

01:57:12.730 --> 01:57:18.730
<v Gast 1>Mein Setup sieht jetzt momentan so aus, dass ich meinen Laptop auf der normalen Schreibtischhöhe stehen habe

01:57:18.730 --> 01:57:22.010
<v Gast 1>und halt einfach so ein USB-C-Kabel zu meinem Monitor geht.

01:57:22.170 --> 01:57:28.650
<v Gast 1>Wenn ich mich hinsetzen will, dann kann ich einfach die Tastatur und das Trackpad wieder runter auf meinen

01:57:28.650 --> 01:57:34.890
<v Gast 1>Schreibtisch stellen legen und mich dann einfach an den Tisch setzen und am Laptop arbeiten.

01:57:34.970 --> 01:57:38.730
<v Gast 1>Der einzige Nachteil ist, ich habe jetzt halt weniger Screen Estate,

01:57:38.970 --> 01:57:45.690
<v Gast 1>weil meine Monitore halt immer gespiegelt sein müssen, weil halt mein

01:57:45.690 --> 01:57:46.730
<v Gast 1>Laptop auf einer ganz anderen Lage.

01:57:46.970 --> 01:57:48.730
<v Gast 2>Du kannst nicht hoch und runter schauen, so einfach.

01:57:48.890 --> 01:57:49.530
<v Gast 2>Ja, ja, genau.

01:57:49.770 --> 01:57:51.050
<v Gast 2>Aber Preis ist gut.

01:57:51.450 --> 01:57:52.890
<v Gast 1>25 Dollar.

01:57:53.210 --> 01:57:54.090
<v Unbekannt>Ja, das ist nicht schlecht.

01:57:54.170 --> 01:57:56.410
<v Gast 2>Ich meine, es ist nur Pappe, aber es scheint sehr stabil zu sein.

01:57:57.450 --> 01:58:04.010
<v Gast 2>Gerade viele Leute sagen hier auch, ja, sie wollten nicht jetzt direkt den 1000 Dollar Standing Desk irgendwie

01:58:04.010 --> 01:58:08.010
<v Gast 2>holen, sondern sie haben jetzt einfach mal nur um zu schauen, wie das funktioniert und es ist so stabil,

01:58:08.090 --> 01:58:08.970
<v Gast 2>dass du halt einfach.

01:58:09.370 --> 01:58:09.770
<v Gast 2>Genau.

01:58:10.010 --> 01:58:11.130
<v Gast 2>Kannst du auch weiter mitarbeiten.

01:58:11.210 --> 01:58:14.890
<v Gast 1>Genau, also ich habe da auch schon Kommentare irgendwie gelesen, wo das Leute über ein Jahr benutzen und das

01:58:14.890 --> 01:58:15.210
<v Gast 1>ist nichts.

01:58:15.290 --> 01:58:17.610
<v Gast 1>Und ich habe mir halt gedacht, ja, im schlimmsten Fall, wenn ich jetzt merke,

01:58:17.690 --> 01:58:23.370
<v Gast 1>ich habe da überhaupt keine Lust darauf, daheim im Stehen zu arbeiten und ich benutze das überhaupt nicht,

01:58:24.090 --> 01:58:30.170
<v Gast 1>dann könnte ich das Ding halt auch einfach ins Recycling tun und wär's los.

01:58:30.250 --> 01:58:35.050
<v Gast 1>Und es würde keinen Platz daheim wegnehmen, es war nicht besonders teuer, es ist halt ein Stück Cutter.

01:58:36.730 --> 01:58:39.850
<v Gast 1>Aber soweit, ich habe das jetzt ein paar Wochen, ich benutze es und ich meine,

01:58:39.930 --> 01:58:42.490
<v Gast 1>klar, es ist jetzt nicht das stabilste Ding.

01:58:42.570 --> 01:58:45.130
<v Gast 1>Ich würde da jetzt wahrscheinlich keinen iMac draufstellen oder so.

01:58:45.210 --> 01:58:49.690
<v Gast 1>Also ich würde kein unglaublich,

01:58:50.490 --> 01:58:54.410
<v Gast 1>ich meine, vielleicht würde es sogar ein iMac halten, ich weiß es nicht.

01:58:54.890 --> 01:59:00.090
<v Gast 2>Ja, aber es ist eher für so Laptop und vielleicht einen Monitor, der aber jetzt nicht so viel rein hat.

01:59:00.330 --> 01:59:03.290
<v Gast 1>Genau, also ich habe jetzt hier so einen, was ist denn das, ein 24 Zoll,

01:59:03.450 --> 01:59:06.090
<v Gast 1>irgendwie so einen komischen, normalen Monitor.

01:59:06.730 --> 01:59:11.290
<v Gast 1>Und halt, wie gesagt, so eine Apple-Tastatur und irgendwie ein Trackpad.

01:59:11.690 --> 01:59:14.490
<v Gast 1>Und das funktioniert bisher ganz gut.

01:59:15.530 --> 01:59:15.850
<v Gast 1>Cool.

01:59:16.170 --> 01:59:20.330
<v Gast 1>Ja, wie gesagt, es ist einfach, man fühlt sich dann irgendwie am Ende des Tages nicht so schlecht,

01:59:20.410 --> 01:59:24.250
<v Gast 1>weil man den ganzen Tag irgendwie komisch in seinem Bürostuhl rumgelümmelt hat.

01:59:24.570 --> 01:59:26.810
<v Gast 2>Ja, coole Sache, den klingt nicht.

01:59:28.490 --> 01:59:32.810
<v Gast 2>Mein Pick ist ein YouTube-Kanal, Rit Riddles.

01:59:33.930 --> 01:59:39.530
<v Gast 2>Ich hab irgendwie, den hatte ich, irgendwo war der mal, ich glaube auf Hacker News oder vielleicht auf Reddit

01:59:39.610 --> 01:59:40.170
<v Gast 2>oder so.

01:59:40.650 --> 01:59:42.650
<v Gast 2>Es ist ein Typ, der repariert Teslas.

01:59:43.290 --> 01:59:49.610
<v Gast 2>Und der hat eine GoPro und macht das Ganze sehr lustig und er repariert die,

01:59:49.690 --> 01:59:52.330
<v Gast 2>also jetzt nicht nur so, ah, ich hab einen Platten, jetzt muss man das austauschen,

01:59:52.490 --> 01:59:56.570
<v Gast 2>sondern Rebuilds im Sinne von, er erholt sich zum Beispiel so.

01:59:57.110 --> 02:00:00.790
<v Gast 2>einen Tesla für 10.000 Dollar und dieser Tesla hat also den Nachteil,

02:00:00.870 --> 02:00:06.230
<v Gast 2>dass er sich irgendwie 10 Tage in Texas irgendwo im Flutwasser stand.

02:00:06.790 --> 02:00:11.830
<v Gast 2>Und ich interessiere mich eigentlich nicht für Autos, so wirklich.

02:00:12.550 --> 02:00:17.270
<v Gast 2>Ich habe mir jetzt neulich so einen gebrauchten Tesla geholt, was vielleicht auch zu meiner Faszination

02:00:17.270 --> 02:00:24.230
<v Gast 2>beiträgt, aber ich finde es ziemlich geil, ihm zuzuschauen, wie er da die ganzen Dinge auseinandernimmt

02:00:24.310 --> 02:00:28.950
<v Gast 2>und zum Beispiel einfach mal, um zu sehen, wie groß denn der Elektromotor in so einem Tesla ist.

02:00:29.110 --> 02:00:35.910
<v Gast 2>Und er hat gerade diesen Flut-Tesla zum Beispiel, hat er auseinandergefriemelt

02:00:36.070 --> 02:00:39.350
<v Gast 2>und du siehst dann hat er auch immer, ah, hier ist Wasser reingekommen.

02:00:39.430 --> 02:00:44.310
<v Gast 2>Und er zeigt dann auch, wie er das Ganze wieder austrocknet und wie er testet, ob das noch funktioniert.

02:00:44.390 --> 02:00:49.430
<v Gast 2>Also zum Beispiel den Motor einfach irgendwie mal von Hand in Anführungszeichen anlassen.

02:00:49.830 --> 02:00:56.470
<v Gast 2>Und es ist echt super gemacht, gerade auch diese erste First Person, was ist denn das?

02:00:56.870 --> 02:00:59.910
<v Gast 2>Eigenperspektive mit der GoPro irgendwie im Mund.

02:01:00.150 --> 02:01:06.390
<v Gast 2>Und er ist super lustig, irgend so ein Afroamerikaner, der dann irgendwie auch mit den anderen Leuten in der

02:01:06.390 --> 02:01:08.470
<v Gast 2>Reparatur immer so rumblödelt.

02:01:08.630 --> 02:01:12.790
<v Gast 2>Und echt interessant zu sehen, wie das alles auseinandergelassen wird.

02:01:12.870 --> 02:01:18.950
<v Gast 2>Und wie er irgendwie am Anfang so ein halb totes Auto, wo dann irgendwie die Zentralkonsole so halb angeht,

02:01:19.030 --> 02:01:23.270
<v Gast 2>ein 38 Fehler auswirft und mir die so nach und nach quasi wieder repariert.

02:01:23.430 --> 02:01:25.110
<v Gast 2>Hat irgendwie, hat irgendwie schon was.

02:01:25.190 --> 02:01:27.510
<v Gast 2>Also dieser Rich ist schon nett.

02:01:27.670 --> 02:01:33.510
<v Gast 2>Und du siehst dann auch immer, wie er sich irgendwie aus zwei kaputten Teslas einen neuen baut und

02:01:34.310 --> 02:01:35.270
<v Gast 2>coole Sache.

02:01:35.590 --> 02:01:39.190
<v Gast 2>Ist auch so ein bisschen zennmäßig, wenn man anderen Leuten einfach beim Schrauben zuschaut.

02:01:39.830 --> 02:01:40.950
<v Unbekannt>Ist schon gut.

02:01:42.230 --> 02:01:44.230
<v Gast 1>Ich hab da auch mal so einen YouTube-Kanal gefunden.

02:01:44.310 --> 02:01:45.990
<v Gast 1>Ich muss mal gucken, ob ich den wieder finde.

02:01:46.870 --> 02:01:49.270
<v Gast 1>Ich weiß nicht, erinnerst du dich noch an den Juicero?

02:01:50.310 --> 02:01:56.790
<v Gast 1>Ja, dieses über overengineierte Totgeburt von der Saftpresse.

02:01:57.190 --> 02:01:57.510
<v Gast 1>Ja.

02:01:58.470 --> 02:02:04.950
<v Gast 1>Und da gab es halt so einen so einen Typen, dessen Hobby ist es halt irgendwelche

02:02:04.950 --> 02:02:11.670
<v Gast 1>Home-Appliances auseinanderzunehmen und dann die Bildqualität zu

02:02:11.670 --> 02:02:12.470
<v Gast 1>beurteilen.

02:02:12.630 --> 02:02:13.430
<v Unbekannt>Ah, das finde ich.

02:02:13.750 --> 02:02:19.030
<v Gast 1>Und das ist irgendwie ein lustiger Kanadier, der auch sehr viel flucht und irgendwie vor sich hinschimpft.

02:02:19.910 --> 02:02:25.750
<v Gast 1>Und es ist, es ist, also zumindest dieses Review von diesem von diesem,

02:02:26.790 --> 02:02:32.550
<v Gast 1>keine Ahnung, von dieser Saftpresse ist auf jeden Fall ziemlich gut.

02:02:33.110 --> 02:02:34.710
<v Gast 1>Ich muss gucken, ob ich das nochmal finde.

02:02:35.030 --> 02:02:38.790
<v Gast 1>Sollte ich es finden, werde ich es in den Shownotes verlinken.

02:02:39.270 --> 02:02:41.910
<v Gast 2>Wie man bei uns zu Hause sagen würde, das ist ein Bruttler.

02:02:42.310 --> 02:02:43.270
<v Unbekannt>Ein Bruttler, ja.

02:02:43.510 --> 02:02:44.550
<v Unbekannt>Ein Brutler ist das.

02:02:44.870 --> 02:02:46.470
<v Gast 2>Nicht Bruddelisch Glob-Nook, ja.

02:02:46.550 --> 02:02:47.190
<v Gast 2>Ja, genau.

02:02:47.670 --> 02:02:48.230
<v Gast 2>So geht es.

02:02:48.550 --> 02:02:51.430
<v Gast 2>Cool, ja, wenn du es findest, würde ich auch mich auch interessieren.

02:02:51.510 --> 02:02:54.150
<v Gast 2>Ich benutze YouTube eigentlich nicht so oft, aber jetzt mit dem Rich Rebels,

02:02:54.310 --> 02:02:57.830
<v Gast 2>da könnte ich auch mal am ApfelTV ein bisschen gucken.

02:02:57.990 --> 02:03:00.630
<v Gast 1>Es ist abartig, wie viel Zeit ich auf YouTube verbringen.

02:03:01.990 --> 02:03:07.590
<v Gast 1>Was vielleicht auch dazu beitragen könnte, dass ich irgendwie meine Wocheneinkäufe und sonst was mittlerweile

02:03:07.910 --> 02:03:09.110
<v Gast 1>outsourcen muss.

02:03:09.910 --> 02:03:12.310
<v Gast 2>Es gibt wichtigere Dinge, diese Dinge sind YouTube.

02:03:12.630 --> 02:03:13.510
<v Unbekannt>Genau, genau.

02:03:14.310 --> 02:03:19.030
<v Gast 1>Wo man jetzt vielleicht auch einen Übergang schlagen könnte zu dem nächsten Pick.

02:03:19.270 --> 02:03:19.590
<v Gast 1>Nämlich.

02:03:20.150 --> 02:03:22.070
<v Gast 2>Nicht vielleicht weniger YouTube, sondern mehr.

02:03:22.550 --> 02:03:28.470
<v Gast 1>Nee, ich folge tatsächlich sehr vielen Wandermenschen und Through-Hiker-Menschen auf YouTube,

02:03:28.870 --> 02:03:31.510
<v Gast 1>die dann halt auch alle über alle möglichen Dinge reden.

02:03:31.590 --> 02:03:35.430
<v Gast 1>Also es geht da, ich weiß nicht, ich finde das immer spannend, es gibt da relativ viele Leute da,

02:03:35.590 --> 02:03:40.070
<v Gast 1>die da so die großen US-Trails laufen und das dann halt auf YouTube dokumentieren.

02:03:40.550 --> 02:03:41.030
<v Gast 1>Wirklich.

02:03:41.670 --> 02:03:47.990
<v Gast 1>Also gerade, wir reden jetzt hier über diesen Appalachian Trail oder den Pacific Crest Trail oder den

02:03:49.750 --> 02:03:51.590
<v Gast 1>Continental Divide Trail.

02:03:52.230 --> 02:03:57.350
<v Gast 1>Das sind dann so die großen Dinge, also gerade jetzt hier, ich lebe ja mehr oder weniger am Pacific Crest

02:03:57.350 --> 02:04:00.310
<v Gast 1>Trail, also so so ein paar Kilometer davon entfernt.

02:04:00.630 --> 02:04:05.910
<v Gast 1>Wir waren da jetzt auch schon ein paar Mal auf irgendwelchen Kurzstreckenbackpacken irgendwie da in der

02:04:05.910 --> 02:04:06.390
<v Gast 1>Gegend.

02:04:06.550 --> 02:04:09.750
<v Gast 1>Und das ist halt wirklich ein Trail, der geht halt von der kanadischen Grenze,

02:04:09.830 --> 02:04:12.950
<v Gast 1>äh, von der mexikanischen Grenze bis nach Kanada.

02:04:13.270 --> 02:04:15.590
<v Gast 1>Das sind irgendwie knapp über 2600 Meilen.

02:04:15.670 --> 02:04:16.470
<v Gast 1>Ich weiß nicht, was ist das?

02:04:16.550 --> 02:04:17.670
<v Gast 1>Ein Kilometer, 3.500.

02:04:17.830 --> 02:04:18.310
<v Gast 1>5000.

02:04:18.790 --> 02:04:21.350
<v Gast 1>Ich weiß nicht, 3500, 4000 Kilometer.

02:04:21.510 --> 02:04:22.630
<v Gast 1>Ich muss es mal umrechnen.

02:04:22.710 --> 02:04:27.350
<v Gast 1>Irgendwie reden die alle von Meilen, deswegen ist es komische Einheiten.

02:04:27.590 --> 02:04:27.910
<v Gast 1>Ja.

02:04:29.670 --> 02:04:30.630
<v Gast 2>4100.

02:04:30.790 --> 02:04:31.430
<v Gast 2>Genau.

02:04:31.670 --> 02:04:32.870
<v Gast 1>Sag ich doch.

02:04:33.270 --> 02:04:34.310
<v Gast 2>5000, genau.

02:04:34.630 --> 02:04:35.190
<v Gast 2>5000.

02:04:36.710 --> 02:04:40.150
<v Gast 1>Jedenfalls zum eigentlichen Pick wandern gehen.

02:04:40.230 --> 02:04:42.630
<v Gast 1>Wandern gehen ist toll, mache ich sehr gerne.

02:04:43.110 --> 02:04:47.030
<v Gast 1>Hält mich irgendwie fit und ich sehe was von der Welt und ich kann irgendwie lustige lustige,

02:04:47.110 --> 02:04:51.030
<v Gast 1>mögliche Bilder machen, die ich dann irgendwie auf YouTube auf Instagram posten kann.

02:04:52.950 --> 02:04:59.270
<v Gast 1>Und ich habe da jetzt mal so ein, bisher habe ich hauptsächlich die

02:04:59.350 --> 02:05:05.350
<v Gast 1>Webseite und die Apps von WTA, von der Washington Trail Association benutzt.

02:05:05.750 --> 02:05:07.990
<v Gast 1>Das ist irgendwie auch echt gut gemacht.

02:05:08.230 --> 02:05:15.030
<v Gast 1>Das ist ein Non-Profit, wo halt die Leute dann auch hier so ehrenamtlich die

02:05:15.030 --> 02:05:17.510
<v Gast 1>Trails maintain und so.

02:05:17.670 --> 02:05:21.510
<v Gast 1>Und die haben halt mehr oder weniger auch eine Trail-Datenbank auf ihrer Webseite,

02:05:21.670 --> 02:05:28.630
<v Gast 1>die dann so nach Länge und nach Höhenunterschied und nach Schwierigkeitsgrad kategorisiert sind

02:05:28.710 --> 02:05:29.830
<v Gast 1>und so weiter.

02:05:30.870 --> 02:05:32.150
<v Gast 1>Das ist ziemlich cool.

02:05:32.470 --> 02:05:37.110
<v Gast 1>Allerdings ist diese App halt schon eher so, also ich glaube, die iOS-App,

02:05:37.190 --> 02:05:40.070
<v Gast 1>die wurde ja auch schon seit ein paar Jahren nicht mehr abgedatet.

02:05:40.470 --> 02:05:42.470
<v Gast 1>Funktioniert dafür noch erstaunlich gut.

02:05:43.750 --> 02:05:49.190
<v Gast 1>Ist halt immer ganz nett, weil man zum Beispiel halt auch so die Trail Reports von den letzten paar Tagen

02:05:49.190 --> 02:05:53.430
<v Gast 1>sieht und dann halt sieht zum Beispiel, ob denn da im Juni noch Schnee liegt.

02:05:53.750 --> 02:05:57.190
<v Gast 1>Was jetzt in den Bergen von Washington nicht unbedingt selten ist.

02:05:57.590 --> 02:06:03.910
<v Gast 1>Oder ob man irgendwie, keine Ahnung, sollte ich jetzt Microspikes und irgendwelche Wanderstecken mitnehmen,

02:06:03.990 --> 02:06:08.630
<v Gast 1>damit ich nicht den Berg runterrutsche, weil es da rutschig ist oder ist da irgendwie Eis oder sowas.

02:06:09.350 --> 02:06:13.430
<v Gast 1>Muss ich Insektenspray mitnehmen, weil gerade die Moskitos wieder irgendwie durchdrehen.

02:06:14.070 --> 02:06:15.350
<v Gast 1>Solche Geschichten.

02:06:16.630 --> 02:06:17.350
<v Gast 1>Gut zu wissen.

02:06:17.590 --> 02:06:18.470
<v Unbekannt>Genau, genau.

02:06:19.270 --> 02:06:24.550
<v Gast 1>Ich habe allerdings mittlerweile jetzt auch eine App gefunden, die das Ganze noch ein bisschen besser

02:06:24.550 --> 02:06:27.750
<v Gast 1>aufbereitet und jetzt nicht nur für Washington lokal macht, sondern auch jetzt,

02:06:27.830 --> 02:06:32.710
<v Gast 1>wenn wir mal in Urlaub gehen oder so, für, ich glaube,

02:06:32.950 --> 02:06:38.070
<v Gast 1>das ist zumindest die ganzen USA, wenn nicht auch weltweit.

02:06:38.710 --> 02:06:41.910
<v Gast 1>Ich habe es jetzt ehrlich gesagt noch nicht probiert, ob das in Europa funktioniert.

02:06:42.070 --> 02:06:44.230
<v Gast 1>Was passiert denn, wenn ich da Stuttgart eingebe?

02:06:44.390 --> 02:06:45.990
<v Gast 1>Stuttgart Baden-Württemberg.

02:06:47.030 --> 02:06:48.630
<v Gast 2>Stuttgart, Arkansas.

02:06:49.590 --> 02:06:52.390
<v Gast 2>Kannst du da auf der 300 Einwohner gemacht haben.

02:06:52.630 --> 02:06:54.470
<v Gast 1>Also die haben irgendwie Kartenmaterial.

02:06:54.550 --> 02:06:56.710
<v Gast 1>Oh, das wilde Mohnbachtal.

02:06:57.990 --> 02:07:00.070
<v Gast 1>Und irgendwie Westweg Stage One.

02:07:00.150 --> 02:07:01.830
<v Gast 1>Den Westweg kenne ich tatsächlich.

02:07:02.390 --> 02:07:06.710
<v Gast 1>Also es gibt auch irgendwelche Trails in Deutschland allerdings sehr,

02:07:07.030 --> 02:07:10.390
<v Gast 1>also sehr viel weniger als jetzt hier.

02:07:10.790 --> 02:07:15.430
<v Gast 1>Der Gegner ist jetzt nicht so, sagen wir mal, sehr gut.

02:07:17.750 --> 02:07:21.750
<v Gast 1>Oder sehr, wie soll man sagen, sehr, was ist denn das deutsche Wort dafür?

02:07:22.310 --> 02:07:23.750
<v Gast 1>Es ist auch egal.

02:07:24.230 --> 02:07:28.150
<v Gast 1>Es ist jetzt nicht sehr Alterseierig in der Gegend rum.

02:07:28.230 --> 02:07:29.270
<v Gast 1>Mir fällt es nicht mehr ein.

02:07:30.150 --> 02:07:37.030
<v Gast 2>Wir können uns beide darauf einigen, dass wir Deutsch schon noch sprechen, aber naja.

02:07:37.270 --> 02:07:37.750
<v Gast 2>Naja.

02:07:39.990 --> 02:07:41.510
<v Gast 1>Es ist jetzt nicht sehr ausführlich.

02:07:41.590 --> 02:07:43.190
<v Gast 1>Ich glaube, das ist das, was ich sagen wollte.

02:07:43.990 --> 02:07:44.230
<v Gast 1>Genau.

02:07:44.310 --> 02:07:50.230
<v Gast 1>Nee, aber es ist komme zu meinem eigentlichen Tipp oder meinem eigentlichen Klick,

02:07:50.550 --> 02:07:57.430
<v Gast 1>alltrails.com ist eine Webseite, die haben auch irgendwie alle möglichen iOS und Android-Apps und sonst was.

02:07:57.830 --> 02:08:01.190
<v Gast 1>Kann man ähnliche Sachen machen, nur haben die halt auch noch ein bisschen bessere Suche.

02:08:01.270 --> 02:08:07.030
<v Gast 1>Du kannst dann zum Beispiel sagen, zeig mir doch jetzt alle Trails an in der Umgebung von dieser Stadt oder

02:08:07.030 --> 02:08:11.910
<v Gast 1>von diesem Punkt, die irgendwie wo ich Backen kann,

02:08:12.150 --> 02:08:15.670
<v Gast 1>wo ich Wildblumen angucken kann und wo ich Wasserfälle sehe zum Beispiel,

02:08:15.750 --> 02:08:16.390
<v Gast 1>solche Sachen.

02:08:16.630 --> 02:08:20.310
<v Gast 1>Sowas ähnliches kann man auf WTA auch.

02:08:20.470 --> 02:08:24.230
<v Gast 1>Was diese AllTrails-App besonders macht, ist, wenn man da einen Pro-Account hat,

02:08:24.310 --> 02:08:28.070
<v Gast 1>dann kann man halt auf der App auch Kartenmaterial offline runterladen.

02:08:28.310 --> 02:08:31.590
<v Gast 1>Du kannst es als GPS-Navigation benutzen.

02:08:31.910 --> 02:08:36.470
<v Gast 1>Du kannst es benutzen, um deine GPS-Strecken aufzuzeichnen,

02:08:36.870 --> 02:08:40.550
<v Gast 1>wo du hinläufst, also alleine für dieses Offline-Kartenmaterial.

02:08:40.950 --> 02:08:43.670
<v Gast 2>Pro-Account ist glaube ich 2,50 Dollar im Monat oder so.

02:08:43.910 --> 02:08:48.070
<v Gast 1>Also ich habe es irgendwie mal irgendwie hier Jahres-Account gemacht,

02:08:48.150 --> 02:08:50.310
<v Gast 1>dann hat man da nochmal 30% Rabatt bekommen.

02:08:50.390 --> 02:08:54.870
<v Gast 1>Ich glaube, es ist jetzt irgendwie fürs Jahr irgendwie 20 Dollar oder sowas bezahlt oder 25 Dollar.

02:08:55.270 --> 02:08:56.070
<v Gast 1>Gibt es schlimmer das.

02:08:56.390 --> 02:08:57.910
<v Gast 1>Also ich habe das jetzt einfach mal ausprobiert.

02:08:57.990 --> 02:08:59.190
<v Gast 1>Aktuell ist es ziemlich cool.

02:08:59.430 --> 02:09:02.310
<v Gast 1>Du kannst halt auch mehrere unterschiedliche Karten runterladen.

02:09:02.390 --> 02:09:07.030
<v Gast 1>Du kannst dann irgendwie eine Topo-Map laden, du kannst irgendwie OpenStreetMap,

02:09:07.110 --> 02:09:11.830
<v Gast 1>du kannst Open Cycling Map und du kannst, also es gibt unterschiedliches Kartenmaterial,

02:09:11.910 --> 02:09:15.030
<v Gast 1>du kannst ja dann auch noch so Overlays anzeigen, wie, naja, solche Dinge,

02:09:15.110 --> 02:09:20.870
<v Gast 1>die aktuell in der aktuellen Zeit des Jahres relevant sind, wie ist denn so die

02:09:20.870 --> 02:09:25.030
<v Gast 1>Feuerhistorie in diesem Bereich.

02:09:25.110 --> 02:09:29.990
<v Gast 1>Das heißt, in welchen Bereichen deiner Wanderung hat es denn früher schon mal öfters gebrannt?

02:09:30.230 --> 02:09:30.710
<v Gast 1>Zum Beispiel.

02:09:31.110 --> 02:09:33.190
<v Gast 2>Die Westküste im Sommer.

02:09:33.350 --> 02:09:37.910
<v Gast 1>Ja, die Westküste im Sommer ist gerade im Moment schon so eine Sache.

02:09:39.590 --> 02:09:39.910
<v Gast 1>Ja.

02:09:40.470 --> 02:09:44.870
<v Gast 1>Und gerade auch, wenn man jetzt wie wir teilweise dann mehrere Tage unterwegs ist,

02:09:45.030 --> 02:09:49.430
<v Gast 1>also wir planen jetzt gerade im Wochenende wieder einen Trip, wo man irgendwie da mal,

02:09:49.990 --> 02:09:54.710
<v Gast 1>wenn es denn alles funktioniert, 60 Kilometer laufen, dann ist es halt auch ganz gut,

02:09:54.790 --> 02:09:59.750
<v Gast 1>wenn man da halt irgendwie die Information hat und halt auch Kartenmaterial und sonstige Sachen.

02:10:00.390 --> 02:10:02.150
<v Gast 2>Kann man schon mal 2 Euro ausgeben.

02:10:02.310 --> 02:10:06.630
<v Gast 1>Genau, also die haben auch ein ganz gutes Feature, was so Sicherheit oder sagen wir mal,

02:10:06.710 --> 02:10:11.670
<v Gast 1>ja so vielleicht Sicherheit ist der gute Oberbegriff dafür, angeht.

02:10:11.910 --> 02:10:18.710
<v Gast 1>Du kannst dann quasi Kontakte angeben, die dann automatisch informiert

02:10:18.710 --> 02:10:22.710
<v Gast 1>werden und dann mit den Informationen, wo du denn wandern gegangen bist,

02:10:22.870 --> 02:10:28.470
<v Gast 1>wenn du dann irgendwie nach einer gewissen Zeit nicht mehr zurückkommst oder die App kein Internet mehr hat

02:10:28.470 --> 02:10:29.110
<v Gast 1>oder so.

02:10:29.750 --> 02:10:32.390
<v Gast 1>Also das ist halt so, du kannst halt sagen, ach, ich gehe jetzt hier wandern,

02:10:32.630 --> 02:10:36.870
<v Gast 1>ich plane den Trip, du trägst dann irgendwie die Leute als Kontakte ein und die bekommen dann,

02:10:36.950 --> 02:10:38.870
<v Gast 1>ich glaube, automatisch irgendwie eine E-Mail oder so.

02:10:39.110 --> 02:10:40.630
<v Gast 1>Ich habe es jetzt noch nicht aktiviert.

02:10:41.590 --> 02:10:46.070
<v Gast 1>Aber ist halt ganz cool, weil du dann halt sagen kannst, ey, du automatisierst so ein bisschen dieses,

02:10:46.150 --> 02:10:51.990
<v Gast 1>ey, ich gehe jetzt in die Berge und wenn ich mir irgendwo unterwegs den Fuß breche und nach drei Tagen nicht

02:10:51.990 --> 02:10:54.710
<v Gast 1>mehr da bin, dann schick doch mal bitte einen Suchtrupp los.

02:10:55.190 --> 02:10:56.390
<v Unbekannt>Ja, praktisch.

02:10:56.470 --> 02:10:58.790
<v Gast 2>Also Suchdrupp as a Service.

02:10:59.030 --> 02:11:00.070
<v Gast 1>Quasi, ja.

02:11:00.710 --> 02:11:01.110
<v Gast 1>Sehr gut.

02:11:02.150 --> 02:11:07.030
<v Gast 1>Ja, kann man auch in der kostenlosen Variante benutzen und die haben halt auch so dieses übliche,

02:11:07.510 --> 02:11:12.550
<v Gast 1>die Trails haben dann Ratings und da gibt es dann, naja,

02:11:12.630 --> 02:11:18.950
<v Gast 1>wie soll man sagen, irgendwelche Trip-Reports von Leuten, die vor ein paar Tagen dann da waren und

02:11:19.270 --> 02:11:19.750
<v Gast 1>sowas.

02:11:19.910 --> 02:11:22.710
<v Gast 1>Schlagen dir dann auch irgendwie anhand von den Sachen, die du schon gemacht hast,

02:11:22.870 --> 02:11:25.110
<v Gast 1>irgendwelche Sachen vor und so.

02:11:26.470 --> 02:11:26.870
<v Gast 1>Dufte.

02:11:27.270 --> 02:11:28.150
<v Gast 1>Ist auf jeden Fall gut.

02:11:28.630 --> 02:11:30.950
<v Gast 1>Ist mir auf jeden Fall lieber als einkaufen gehen.

02:11:31.510 --> 02:11:33.910
<v Gast 2>Richtig, deswegen Amazon Fresh.

02:11:35.190 --> 02:11:36.710
<v Gast 2>Ja, ich glaube, wir sind durch.

02:11:37.030 --> 02:11:37.590
<v Gast 2>Ich glaube auch.

02:11:37.910 --> 02:11:42.230
<v Gast 2>Also ich glaube, ich würde auch sagen,

02:11:42.390 --> 02:11:46.390
<v Gast 2>dann würde ich sagen, wir verabschieden uns einfach und hoffen, dass es dieses Mal mit der Sprachqualität

02:11:46.390 --> 02:11:47.430
<v Gast 2>etwas besser geklappt hat.

02:11:48.870 --> 02:11:51.030
<v Gast 2>Okay, dann würde ich sagen, habt Spaß.

02:11:51.350 --> 02:11:52.150
<v Gast 2>Am Gerät.

02:11:52.870 --> 02:11:53.510
<v Gast 2>Und tschüss.

02:11:54.390 --> 02:11:55.350
<v Unbekannt>Und tschüss.

02:11:55.750 --> 02:11:56.150
<v Unbekannt>Bam.

02:11:56.950 --> 02:11:57.270
<v Unbekannt>Bam.
