Thomas: So, hallo und herzlich willkommen zusammen zum Smart-Hüte-Podcast.
Thomas: Der Podcast für Technikkram, Smart Home und allem drum und dran.
Thomas: Wir schreiben den 17.05.26.
Thomas: Ich hab das Gefühl, ich hab irgendwas vergessen.
Thomas: Hallo Andrej.
Andrej: Ja, hallo Andrej.
Andrej: Hallo Thomas.
Thomas: Moin.
Andrej: Moin.
Andrej: Jo.
Thomas: Episode 33.
Thomas: So, das auch vergessen.
Thomas: Genau, wie immer haben wir viele Themen mitgebracht oder bunte Themen vor allem, nicht wie immer. Letzte Folge, die auch erst heute es raus geschafft hat, da hatten wir ja den Ingo zu Gast, auch super cool, das war mega spannend.
Andrej: Das war richtig cool.
Thomas: Genau, aber heute wieder im klassischen Stil. Die Liste ist voll und bunt.
Andrej: Eine Sache von der letzten Folge, die ich aber sehr, sehr, sehr, sehr cool fand,
Thomas: Ja, die Abhängigkeit auf diese ganzen Standards ist natürlich super, das hatten wir ja da.
Andrej: ist diese Thematik, dass Matter einfach Abhängigkeiten zum Betriebssystem hat
Andrej: und dadurch auf unterschiedlichen Betriebssystemen unterschiedliche Bugs verursachen kann.
Andrej: Fand ich einfach wieder ein Grund zu sagen,
Andrej: Home Assistant OS und das besser auch noch auf dedizierter Hardware.
Andrej: Weil selbst wenn du es virtualisierst und
Andrej: der IPv6-Stack in dem Falle
Andrej: auf dem Hypervisor anders
Andrej: konfiguriert ist, hast du die gleichen Bugs
Andrej: eventuell. Standards. Ja, aber es nutzt
Thomas: Also das ist eigentlich eine total tolle Sache, aber da merkt man halt auch gerade IPv6 ist immer noch relativ problematisch oder erstaunlich problematisch, auch wenn es das ja nun in der Verbreitung schon so lange gibt.
Thomas: Und ich bin kürzlich in einem Projekt drauf gestolpert, dass da ein Kubernetes-Cluster mit Dual Stack lief.
Andrej: halt nicht jeder und auch nicht im Heimnetz, weil
Andrej: alles, was ich lese im Internet über,
Andrej: wenn es um IPv6 geht, bei
Andrej: so Heimnetzwerk-Guides, Home Assistant
Andrej: oder so, mach's aus. Ich so, Leute,
Andrej: mach's doch nicht aus.
Andrej: Ja, naja. Aber das
Andrej: haben wir ja zuletzt sehr
Andrej: tief besprochen, brauchen wir jetzt nicht nochmal eingehen.
Andrej: Wollte ich einfach nur nochmal sagen, weil ich es cool fand.
Thomas: Und da hatte ich direkt Pipi in der Hose und dachte mir, oh oh, das wird ja nur Probleme machen wahrscheinlich.
Thomas: Wird sich noch zeigen.
Andrej: Das ist ja auch schon seit Jahren drin.
Thomas: Jaja, ist mittlerweile auch seit Jahren drin, genau.
Andrej: Schönes zum Start.
Thomas: Na gut, zur Themenliste. Hast du was Schönes zum Start?
Thomas: Das Pagnon, ne? Meintest du? Okay.
Andrej: Ach ja, komm, machen wir mal ein kleines Linux-Desktop-Thema.
Andrej: Also Endnutzer.
Andrej: Ich bin ja vor einigen Zeiten wieder auf mein geliebtes Linux-Privat gewechselt
Andrej: und eigentlich nutze ich da immer seit Jahren einfach immer Gnome, Gnome, Gnome, wie auch immer.
Andrej: Und das ging mir ein bisschen auf den Keks die letzte Zeit.
Andrej: Und witzigerweise wusste ich gar nicht, dass ich durch den Wechsel jetzt auf KDE noch andere Bugs rausgehauen habe.
Andrej: Aber erstmal zum ersten Thema.
Andrej: Ich habe nie KDE so genutzt, fand es aber auf den ersten Blick sofort gut.
Andrej: Und was mich am allermeisten genommen genutzt hat, und ich weiß, da gibt es auch Workarounds rum,
Andrej: ist aber Alt-Tab funktioniert, also wenn du mehrere Fenster von einer Anwendung auffasst,
Andrej: Chrome oder was weiß ich, dann kannst du da nicht vernünftig hin-tappen.
Andrej: Du brauchst irgendwie so komische Alt-Tab
Andrej: und dann musst du nochmal zurück und mit der Pfeiltasten
Andrej: und das ist alles Kacke in meinen Augen.
Andrej: Genau, das ist Kacke.
Thomas: Das Exposé.
Andrej: Und irgendwann hat mich das so genervt,
Andrej: dass ich nicht auf meine Fenster kommen kann
Andrej: und ich musste immer die Maus benutzen, um da hinzugehen.
Andrej: Das nervt mich.
Andrej: Kennst du die, das hat MacOS ja auch dieses,
Andrej: du gehst oben rechts oder wo du es konfigurierst in die Ecke,
Andrej: dann werden alle Fenster angezeigt.
Andrej: Kriegst du 300 Fenster angezeigt und dann guckst du
Thomas: Was genau war denn das alte Verhalten?
Andrej: mit deinen zugekniffenen Augen, wo ist das jetzt nochmal hin?
Andrej: Die Reihenfolge ist auch nicht sonderlich deterministisch.
Andrej: Genau, Expose oder Exposé.
Andrej: Und das ging mir so auf den Keks, wo ich dachte, es gibt doch Computer.
Andrej: Warum kann ich keine Tastenkürzel dafür benutzen?
Andrej: Wieso muss ich mit der Maus und dann noch einen Shooter spielen, um in das richtige Fenster zu schießen?
Andrej: Naja, habe ich dann irgendwann einfach mal KDE installiert.
Andrej: Ist ja super easy bei Arch.
Andrej: Das war echt ein painless Process.
Andrej: Also ich habe einfach die Pakete dazu installiert, dann den Lock-In-Manager dazu,
Andrej: dann einfach rebooted, eingeloggt, alle Gnome-Pakete deinstalliert, die ich so hatte.
Andrej: Also die ganzen Desktop-Fähigkeiten zumindest.
Andrej: Und dann lief das schon.
Andrej: War ganz nett.
Andrej: Das war schon mal direkt, das Alt-Tabbing war super weg.
Andrej: Das hat mich schon mal gefreut.
Andrej: Mit Alt-Tab kommst du nicht hin.
Thomas: Also konntest du die Zweitfenster derselben Applikation gar nicht erreichen mit Alt-Tab
Thomas: oder hat er die einfach, hat er jedes Fenster gleich behandelt?
Thomas: Okay.
Andrej: Du hast ein Chrome-Logo und dort ist ein kleiner Pfeil drunter.
Thomas: Ja.
Andrej: Ja, aber wenn du Alt-Tab drückst, dann gehst du weg von deinem aktuellen Fenster.
Thomas: Mhm.
Andrej: Das heißt, du musst mit den Pfeiltasten dann einfach nach links,
Andrej: dann bist du wieder bei Chrome, dann musst du nach unten drücken.
Andrej: Dann hast du alle deine Chrome-Fenster.
Andrej: Und da kriege ich mittlerweile einfach zu viel.
Andrej: Das ist keine Usability.
Andrej: Das mag vielleicht auf einem Touchscreen gut funktionieren, kann ich nicht beurteilen, nutze ich nicht, aber Gnome ist ja auch sehr, sehr touchfreundlich, was das angeht. Und ich habe das Verhalten bei meinem Touch-Kio-Tablet, das hat ja auch KDE drunter, das ist ja ein Debian mit KDE, und da hat mich das ein bisschen angefixt, so cool, ich nutze es nicht, aber die fünf Minuten, die ich zum Einrichten hatte, dachte ich, geil, das hat funktioniert.
Thomas: Mhm.
Andrej: hier, ja, das war, einfach mal was Neues ausprobieren.
Andrej: Ja, jetzt läuft das seitdem, bin super
Andrej: zufrieden. Und es hat tatsächlich auch einen Bug
Andrej: gefixt, den ich dachte, wäre vom System,
Andrej: aber nee, war anscheinend von Gnome. Und zwar
Andrej: ab und zu konnte ich
Andrej: meinen Laptop nicht in Sleep-Modus setzen.
Andrej: Irgendeine Applikation hat irgendwas
Andrej: gemacht im Vordergrund und konnte
Andrej: dadurch nicht mehr in Schlaf gesetzt werden.
Andrej: Und dann musste ich immer ran, mir wurde auch
Andrej: nie angezeigt, welche. Ich habe einfach Sleep gedrückt, passierte
Andrej: nichts. Und das ist super nervig.
Andrej: Dann habe ich einfach alles geschlossen. Das ist ja nicht der
Andrej: Zenitha Sleep. Da war ich dann auch schon
Andrej: wirklich genervt. Und dann,
Thomas: Ach komm.
Andrej: ich glaube dann irgendwann ein paar Updates später,
Andrej: war es dann sogar so, die haben es gefixt,
Andrej: aber nicht so, wie ich es fixen
Andrej: würde. Und zwar, wenn du nicht sleepen
Andrej: kannst, dann entfernen die das einfach
Andrej: aus dem Menü. Ja,
Thomas: Ja.
Andrej: es war dann einfach wirklich so, hä?
Andrej: Und dann konntest du suspend, das ging.
Andrej: Also, Hibernate to Disc oder wie
Andrej: das heißt. Und dann
Thomas: Das heißt, der Menüpunkt war manchmal einfach da oder klickbar und manchmal einfach nicht.
Andrej: das ist so eine Scheiße. Und das war dann der Trigger, wo ich
Andrej: so, nee, jetzt kommt da KDE drauf, jetzt probiere ich es mal
Andrej: aus. Ja, die haben dann
Andrej: genau, wenn, doch, ich weiß
Thomas: Und du weißt nicht warum.
Thomas: Du, ja, aber welche.
Andrej: warum, weil irgendeine Applikation nicht den Sleep
Andrej: zugelassen hat. Ja, aber welche wusste
Thomas: Oh man.
Andrej: ich immer noch nicht.
Andrej: Naja, und wie es der Zufall so will,
Thomas: Ja.
Andrej: hat es dann tatsächlich auch noch
Andrej: diese Woche, glaube ich, oder letzte Woche,
Andrej: gab es da eine News, ich weiß nicht, ob du es mitbekommen hast,
Andrej: der Southern Tech Fund hat eine Million
Andrej: Euro in die KDE
Andrej: Welt jetzt geschickt.
Thomas: Geil.
Andrej: Die kriegen jetzt ein Fund, da ist so
Thomas: Mhm.
Andrej: krass gutes Timing.
Andrej: Dann werden die halt noch mit ein bisschen Geld
Andrej: gepusht und man darf ja auch nicht vergessen, dass
Andrej: die Leute von Valve, die das Steam Deck
Andrej: gebaut haben und die jetzt demnächst
Andrej: die Brille und den PC
Andrej: wie heißt das? Steam Machine
Andrej: dass die auch KDE benutzen
Andrej: und da halt ein bisschen Entwicklungspower
Andrej: jetzt hinter steckt. Da dachte ich ja
Thomas: Finde ich aber sehr cool. In meiner Linux-Zeit, die hat ja irgendwann 98, 97 begonnen und die erste Zeit war natürlich hart, weil da gab es ja keine, nicht wirklich so Desktop, sondern die hießen damals einfach nur Window-Manager und die haben halt deine Windows gemanagt und mussten dann häufig noch, die musstest du damals sogar noch in der Konfigurationsdatei editieren und dann neu starten.
Andrej: das ist mit Valve wusste ich ja
Andrej: vorher, aber jetzt nochmal der 1 Million
Andrej: Tech Fund, das ist natürlich eine schöne Sache.
Andrej: Ob die daraus jetzt was machen, sei mal dahingestellt.
Andrej: Wissen wir nicht. Das ist doch i3
Andrej: und sowas. Du lachst. Das ist
Thomas: Das heißt, wenn du irgendwo ein neues Symbol haben wolltest, um eine App zu starten oder ein Programm, wie es ja noch hieß, dann musstest du wirklich eine Config-Datei editieren, da eine Kachel reinmachen, reinschreiben, welches Icon da rein soll eventuell noch und speichern und neu starten. Das ist Hammer.
Andrej: heute noch genauso bei den Window-Managern.
Thomas: Bei welchen? Achso, ja, es gibt immer noch welche natürlich, ja.
Andrej: Und das auch gewollt, glaube ich. Es gibt
Andrej: immer noch, es werden neue entwickelt
Thomas: Oui.
Andrej: und zwar mit richtig Hype.
Thomas: Ja.
Andrej: Also hier dieser, weiß ich noch mal, der David
Andrej: Heinemeyer-Hansen mit seinem Omachi,
Andrej: das ist Hyprland, das ist auch ein
Thomas: Mhm. Aber für die Apps gibt es einen Launcher, oder?
Andrej: Window-Manager-Only, keine Desktop-Environment
Andrej: und alles über Konfigdateien.
Andrej: Hunderte. Du kannst einen Launcher
Thomas: Ah, okay.
Andrej: konfigurieren, den musst du aber installieren.
Andrej: Dann hast du sowas wie auf Mac
Thomas: Alles klar.
Thomas: Mhm.
Andrej: hier Spotlight, Alfred oder Raycast
Andrej: oder wie die alle heißen.
Andrej: Sowas installierst du dann, dann hast du halt deinen
Thomas: Ja, okay.
Andrej: Launcher, aber dein
Andrej: dein, ich weiß nicht, wie das heißt, dieser
Andrej: Statusbar oder so, das konfigurierst du alles manuell.
Andrej: Du kannst auch mit CSS-Styling
Andrej: machen. Also da gibt es Leute, die machen
Andrej: schöne Desktops mit wahnsinnig
Andrej: viel Zeit dahinter.
Andrej: Und es gibt auch neue Konzepte,
Thomas: Ne.
Thomas: Ah, okay. Habe ich, glaube ich, von gehört.
Andrej: wie von Niri, dieses ewig
Andrej: nach rechts scrollen, ein Fenster
Andrej: nach dem anderen nach rechts. Da haben die an der
Andrej: Freakshow auch drüber geredet. Der Ralf hat
Thomas: Mhm.
Thomas: Und KDE war da auch tatsächlich für mich immer so die Liebste von allen. Die habe ich sehr gerne benutzt. Früher war sie halt ein bisschen instabil, aber du meintest ja, das ist bei dir kein Thema mehr. Das freut mich. Und das Tolle ist ja im Gegensatz zu einem Gnome Desktop, es kommen ja immer ein paar Applikationen mit oder werden in einem Katalog als leicht vorinstallierbar angeboten.
Andrej: darüber gesprochen. Ja, aber ich finde eine
Andrej: Desktop-Environment ist schon sinnvoll. Da hast du halt
Andrej: Notifications drin, da hast du
Andrej: Integration von den Apps ineinander. Das hat
Andrej: schon, hat schon was. Nee, gar nichts.
Andrej: Kamera.
Thomas: Früher war das, weiß ich nicht, hast du so ein Tool gehabt, um vielleicht deine CDs zu rippen oder du hast hier irgendwie so einen kleinen Audio-Editor, ja genau, Kamera, Auto-Booth, weiß ich nicht was alles und meine Erfahrung war halt, die GNOME-Teile, die waren funktional immer so restriktiv, also so oft so puristisch, dass du als quote-unquote Power-User eigentlich mit den Dingern schon gar nichts machen konntest.
Andrej: Ja, das sind Vor- und Nachteile, ne?
Thomas: Du musstest immer Third-Party installieren.
Thomas: Das war eigentlich Standard, Go-To.
Thomas: Du musstest genau, ich brauche irgendwas.
Thomas: Ich brauche gar nicht bei Gnome gucken.
Thomas: Bei KDE ist das genau anders.
Thomas: Die Dinger kommen vorinstalliert in einem einfachen, einfach nutzbaren Zustand.
Thomas: Aber die haben halt Optionen für alles.
Thomas: Dann bist du happy damit.
Thomas: Voll gut.
Thomas: Ja, ja, klar.
Andrej: Ja, und dann, genau, das war
Thomas: Ja, schön.
Thomas: Auch schön zu hören, dass KDE so gepusht wird.
Thomas: Finde ich jetzt sehr überraschend.
Andrej: relativ entspannt, also ich bin relativ
Andrej: happy mit meiner Arch-Reise gerade wieder.
Andrej: Das Einzige, was mich ein bisschen nervt,
Andrej: ist Arch und sein Kernel.
Andrej: Und zwar bin ich jetzt schon
Andrej: des Öfteren, und man muss ja mal
Andrej: ein Update machen, ne? Ich mach das mehr oder weniger einmal
Andrej: die Woche oder sowas. Also alle Pakete mal updaten.
Andrej: Und man muss bei Arch ja immer alles updaten,
Andrej: weil halbe Updates sind nicht supported,
Andrej: kann Sachen kaputt machen, etc.
Andrej: Das heißt aber auch, dass der Kernel relativ häufig
Andrej: einen Patch bekommt, obwohl ich einen LTS-Kernel benutze.
Andrej: Ich habe nämlich keinen Bock auf den neuesten
Andrej: und irgendwelche Regressions oder sowas.
Andrej: Aber, was dann immer passiert,
Andrej: das fuchst mich
Andrej: jedes Mal, ist, ich habe da
Andrej: ein Update gemacht, habe vergessen zu neu starten,
Andrej: weil ich da einfach gerade zu dem Augenblick keinen Bock hatte,
Andrej: weil ich nur eine App installieren wollte, um die zu benutzen
Andrej: oder was auch immer. Und dann
Andrej: würde ich irgendwas mit USB machen,
Andrej: zum Beispiel so ein ESP flashen
Andrej: oder was weiß ich.
Andrej: irgendwelche USB-Sachen. Und dann werden die nicht
Andrej: erkannt. Und ich so, hä? Und dann gucke
Andrej: ich und gucke ich, ab ins Journal
Andrej: und hier und da und wo andere
Andrej: USB-Kabel, habe ich doch eins nur mit Strom
Andrej: rausgefunden. Und dann fällt mir wieder ein,
Andrej: ach, du hast den Körner
Andrej: geupdatet, start doch mal neu.
Andrej: Jedes Mal, also man muss halt neu starten,
Andrej: um bestimmte Sachen aus dem USB-Stack zu
Andrej: bekommen, weil, doller Gründe, ich kann
Andrej: es dir nicht sagen, warum. Ja, aber
Thomas: Weil eigentlich, der Kernel läuft ja, ne?
Andrej: es, ja, hatte ich aber jetzt
Thomas: Und die Module sind ja auch immer noch da.
Thomas: Die sind ja nicht irgendwie von der Platte entfernt.
Thomas: denke ich, macht Ubuntu zumindest
Thomas: so. Die lassen ja immer so ein, zwei
Thomas: vorherige Releases drauf.
Thomas: Komisch. Das kenne ich nicht. Also wirklich.
Andrej: auch schon öfter, also auch mit dem SD-Kartenreader
Andrej: und solche Sachen. Audio-Interface
Andrej: das ist wobei nie ein Problem.
Andrej: Ich weiß nicht,
Andrej: vielleicht ist es auch
Andrej: ein Security-Feature,
Andrej: damit du halt nicht
Andrej: im laufenden Betrieb
Andrej: ein Körner austauschen kannst
Andrej: und dann halt einfach
Andrej: auf Geräte kommst.
Andrej: Ich weiß es nicht.
Andrej: Das ist mir gerade eine Rätsel.
Andrej: Wenn wer was weiß,
Andrej: gerne eine Info.
Andrej: Aber das habe ich schon
Andrej: tatsächlich öfter getroffen,
Andrej: als ich zugeben möchte.
Andrej: Und jedes Mal
Andrej: habe ich 10 Minuten gewartet.
Andrej: Oh, du Idiot.
Andrej: Start doch einfach mal neu.
Andrej: Okay, das kenne ich nicht.
Thomas: Habe ich nie gehabt.
Thomas: Ich kenne es vom Browser. Wenn du hier
Thomas: mit Homebrew ein Chrome-Update ziehst,
Thomas: der Chrome läuft weiter, aber irgendwann
Thomas: laden halt die Tabs nicht mehr. Du klickst in den
Thomas: Tabs rum und es passiert einfach nichts mehr. Du machst ein neues
Thomas: Tab auf, du gibst da was ein, es passiert einfach nichts mehr.
Thomas: Man muss auch dran denken. Achso.
Thomas: Der Browser wurde aktualisiert. Stoppen.
Thomas: Starten.
Thomas: Ja.
Andrej: Ja, genau.
Thomas: Fantastisch. Framework 13 Pro noch nicht bestellt?
Andrej: Sleep ist gefixt.
Andrej: ArchCode ist ein bisschen nervig.
Andrej: Ich muss nochmal neu starten.
Andrej: KDE wird jetzt
Andrej: schön gepusht mit Geld.
Andrej: Schauen wir mal,
Andrej: Da würde ich sagen, in der Linux-Thema...
Andrej: Guck mal kurz in die Liste.
Andrej: Nee, nee, das warte ich ab.
Thomas: Ja, ich habe, mich kribbelt es ja so ein bisschen, aber ich habe auch nicht gute Informationen darüber gefunden, wie die tatsächliche Performance so ist.
Andrej: Ich kaufe ungern unfertige Hardware oder nicht getestete Hardware.
Andrej: Ich habe das früher gemacht, ein paar Mal auf die Schnauze gefallen.
Andrej: Jetzt denke ich mir, lass die anderen auf die Schnauze fallen.
Andrej: Ich spare ich Geld.
Andrej: Und Zeit ist sowieso eine Mangelware.
Andrej: Also ich würde es gerne machen, aber die Zeit ist das Problem aktuell.
Andrej: Ja, gibt es ja noch keine.
Thomas: Also würde ich auch tendenziell erstmal abwarten und ja.
Andrej: Es sind ja noch keine im Review und so.
Andrej: Von daher...
Thomas: Mhm.
Andrej: Ach stimmt, da hatte ich noch ein lustiges Thema
Andrej: bei Reddit ein bisschen
Andrej: da rumgeschrieben zu und dann
Andrej: du hast halt die Problematik, dass
Andrej: wenn jetzt ein neues Gerät auf den Markt kommt,
Andrej: beim Framework jetzt bei dem 13 Pro ist das wahrscheinlich
Andrej: nicht der Fall, aber weil die halt keinen
Andrej: neuen, ganz neuen Prozessor haben,
Andrej: aber dort, es kann halt passieren, wenn das
Andrej: ein ganz neuer Prozessor ist, dass du
Andrej: halt keinen Support hast im Kernel
Andrej: oder nur Grundlegenden und bestimmte
Thomas: Mhm.
Andrej: Treiber noch nicht drin sind und es
Andrej: kann auch sein, selbst wenn du, bei Framework war es
Andrej: ja so, die haben ja Ubuntu Certified gemacht,
Andrej: Das heißt, Ubuntu läuft da definitiv
Andrej: drauf. Das kann aber
Andrej: auch sein, dass die eventuell so ein extra
Andrej: Ubuntu-Image gebaut haben. Oder auch
Andrej: das normale Ubuntu-Image.
Andrej: Das hängt, glaube ich, davon ab.
Andrej: Aber was sein kann, ist, nur weil das dann bei Ubuntu funktioniert,
Andrej: kann es sein, dass es bei Fedora und
Andrej: anderen nicht funktioniert, weil die halt nicht
Andrej: eventuell die Patches noch nicht im
Andrej: Mainline-König
Andrej: gepatcht wurden. Und das dauert
Andrej: einfach, weil der Prozess lange dauert.
Andrej: Ja, und da gab es noch ein paar Leute, die meinten, das ist doch Quatsch.
Andrej: Das ist völliger Schwachsinn im Internet.
Andrej: Wenn das Ubuntu zertifiziert ist, dann funktioniert das bei allen Linux.
Thomas: Nee.
Andrej: Dude, nein, das ist so nicht.
Thomas: Mhm.
Andrej: Ja, die Bestrebung ist dahinter, dass Ubuntu das im Mainline-Kernel haben möchte.
Andrej: Weil warum sollten die das Out of Tree die ganze Zeit mitziehen, die nächsten zehn Jahre?
Andrej: Das ist ja voll der Aufwand.
Andrej: Vor allem überlege mal, für wie viele Geräte das dann eventuell der Fall werden würde,
Andrej: wenn die da irgendwie hunderte oder tausende Treiber drin haben, die Out of Tree sind.
Andrej: Und das kannst du, da wirst du irre beim Mergen und beim Rebasen und was weiß ich.
Andrej: Von daher macht es tatsächlich manchmal Sinn, ein bisschen zu warten.
Andrej: Es ist doch schön, dass dann was zertifiziert ist mit Distro X.
Andrej: Ist egal, Fedora, Linux, Ubuntu oder was auch immer.
Andrej: Aber bis das dann im Mainline ist, kann das halt noch ein paar Monate dauern.
Andrej: Oder sogar länger.
Andrej: Und dann kann man nicht die Distro seiner Wahl benutzen.
Thomas: War früher auch ganz normal, ne? Also da musstest du, da war das gut, wenn du so ein bisschen abgehangene Hardware hattest.
Andrej: Was ja dann auch manchmal ein Totschlagargument ist für einige Menschen.
Andrej: Das ist ja heute auch noch so und hängt auch noch stark von der Distro ab.
Thomas: Also zum einen natürlich einen guten Hersteller, so keine Ahnung, Lenovo Thinkpad oder sowas, weil die tendenziell gut supported waren.
Thomas: frischer Hardware, kann problematisch sein.
Thomas: Genau, in zwei Jahren vielleicht, oder nein, in sechs
Andrej: Also beim Arch hast du halt, wenn du in Arch läufst
Andrej: oder so ein Rolling Release, dann
Andrej: ist es halt relativ easy, kriegst halt immer
Andrej: einen neuen Kernel und dadurch halt
Andrej: schnell mal Fixes, aber halt auch Bugs,
Andrej: Regressions. Wenn du
Andrej: dein Ubuntu läufst und
Andrej: das ist nicht supported, dann ist es halt erstmal nicht supported.
Andrej: So.
Andrej: Ja, ich glaube,
Thomas: Monaten vielleicht. Es gab da so einen,
Andrej: die haben mittlerweile auch die Kernels
Andrej: separat teilweise.
Andrej: Früher HWE-Kernel, der Hardware Enablement
Thomas: ich habe gerade vergessen, wie er heißt.
Thomas: Ja, genau. Achso, okay.
Andrej: Kernel, aber den gibt es nicht mehr,
Andrej: das wurde gemerged. Die haben nur noch einen.
Andrej: Also kann sein, dass das jetzt besser geworden ist,
Thomas: Also Arch hat, wenn ich das richtig verstehe,
Andrej: aber das ist natürlich kein Vergleich zu Rolling Release,
Andrej: wo du gefühlt jede Nacht einen neuen Kernel kriegst.
Andrej: Nicht ganz, aber schon häufig.
Andrej: Muss man einfach abwägen dann, muss man wissen.
Andrej: Ja, aber LTS heißt ja, dass du einfach nur Linux,
Thomas: hat Bleeding Edge, also Rolling Release,
Thomas: Neuster Kernel und LTS
Thomas: dann zur Auswahl. Du kannst das dann aussuchen.
Thomas: Achso, okay. Wie pitze
Andrej: es gibt ja zwei Linux-Kernel,
Andrej: der einmal stable fundiert wird oder deklariert wird
Andrej: und das ist dann der LTS, glaube ich.
Andrej: Und solange, zum Beispiel jetzt gerade ist ja 7.0 rausgekommen,
Andrej: das ist ja immer, das ist noch kein LTS-Kernel.
Andrej: Irgendwann wird Torvalds und die anderen sagen,
Andrej: der neue LTS ist das, sondern switch
Andrej: das einfach eiskalt. Das ist quasi wie so ein
Andrej: Channel, kannst du dir vorstellen. Du folgst einem Channel.
Andrej: Und LTS-Kernel heißt jetzt nicht,
Andrej: dass du nicht wenig Updates kriegst. Du kriegst schon jede Menge
Andrej: Patches da rein, das ist schon so, aber
Andrej: also musst schon häufig,
Andrej: relativ häufig neu starten. Und
Andrej: das ist auch ein cooles Thema beim KDE, das ist
Andrej: viel besser als bei Gnome. Du kriegst alle Fenster wieder,
Andrej: wie so wie ein PC halt.
Andrej: Wie so ein echter Rechner. Bei Gnome war das
Thomas: er halt.
Thomas: Geil.
Andrej: nicht so. Das hat mich auch schon ein bisschen genervt.
Andrej: Nee, das funktioniert gut. Dann hast du deinen Terminal
Thomas: Das ist ein Feature. Stimmt.
Andrej: auf, tatsächlich sogar manchmal in dem richtigen Ordner, wo du
Andrej: warst. Das fand ich schon cool.
Andrej: Ein bisschen wie bei macOS. Weil das finde ich
Andrej: echt ein cooles Feature bei macOS. Du startest
Andrej: neu und hast einfach alle
Andrej: Applikationen, Fenster. Es sind
Andrej: vielleicht nicht dort, wo du sie haben wollen würdest,
Andrej: wie beim letzten Mal.
Andrej: Ja, aber
Andrej: es ist da. Ja, genau.
Thomas: Ich könnte was machen. Ich frage mich
Andrej: Habe ich dazu noch was? Nee,
Andrej: nee, nee. Nö. Dann
Andrej: ist das abgehakt von Linux
Andrej: und Framework. Sehr gut. Dann haben wir
Andrej: Chapter Marks und dann können die Leute, die keinen Bock drauf
Andrej: haben, einfach skippen. Möchtest du was machen?
Andrej: Ich könnte auch noch mal
Thomas: Nur, warte, was?
Thomas: Das sind so ein paar Themen.
Thomas: Das eine ist was tiefer.
Thomas: Fangen wir mal mit dem Proxmox-Update.
Thomas: Ja, komm.
Andrej: sonst Linux-Proxmox machen, dann ist das in einem Abwasch.
Andrej: Genau. Kapitelmarkt
Thomas: Oh, okay.
Andrej: jetzt gesetzt. Mir ist die Tage
Andrej: aufgefallen, oder ich wusste, dass
Andrej: ich eine alte Proxmox-Version habe, 8.
Andrej: Und dann habe ich mal wieder geupdatet
Andrej: und habe gesehen, irgendwie aus dem Grund bin ich dann
Andrej: auf die Support-Liste gegangen, wollte gucken, wie lange ist denn das
Andrej: noch, wie das noch supportet.
Andrej: Dann steht da so August. Ja, sagt
Thomas: Mhm.
Andrej: O. Ups.
Andrej: Dann dachte ich auch so, ach Mist.
Andrej: Na gut, dann mache ich das einfach mal.
Andrej: Das heißt, Proxmox 8 ist noch bis August diesen Jahres supported, kriegt hier noch Patches.
Andrej: Dachte, ja gut, dann mache ich das halt lieber ein bisschen vorher, als dann nachher mit der heißen Nadel.
Andrej: So hatte dann mir ein bisschen Zeit freigeschaufelt gegen Ende Abend und habe dann einfach mal das Update gewagt.
Andrej: Joa, war so gemischt.
Andrej: Also per se hat das Update so funktioniert.
Andrej: Was man natürlich vorher machen musste, ist die VMs zu stoppen.
Andrej: Das habe ich dann gemacht.
Thomas: Mhm.
Andrej: Deswegen auch eine Abendstunde,
Andrej: weil die ganzen Services dann nicht dauernd waren
Andrej: in dem Zeitpunkt.
Andrej: Und dann erstmal auch,
Andrej: ich hatte ja,
Andrej: das Einzige, was ich nachinstalliert habe
Andrej: auf dem Proxmox Host,
Andrej: war NetData.
Andrej: Also so ein Monitoring-Tool.
Andrej: Hatten wir schon öfter drüber gesprochen.
Andrej: Und da habe ich einfach die Paketquellen rausgenommen,
Thomas: Also nachinstalliert meintest du auch Third-Party wirklich?
Andrej: weil man weiß ja, wie das so ist.
Andrej: Dann hast du irgendwie Abhängigkeiten
Andrej: von einem alten Betriebssystem da drin.
Andrej: Ich habe gesagt,
Andrej: ich hole jetzt,
Andrej: ich deinstalliere jetzt NetData.
Andrej: Wirklich runtergeschmissen von der Platte.
Andrej: Habe die Repos auskommentiert.
Andrej: Genau, Third-Party.
Thomas: Also du musstest zusätzlich das PPA oder so, also Repo hinzufügen?
Andrej: Genau.
Thomas: Och, nö.
Andrej: Ja, es ist ja ein Debian unter Proxmox, ganz normal.
Andrej: Und dann habe ich gesagt, nee, bevor irgendwie Netdata irgendwelche komischen Abhängigkeiten hat,
Andrej: und deswegen das Update nicht funktioniert, habe ich keinen Bock drauf.
Andrej: Das deinstalliere ich jetzt mal kurz.
Andrej: Man muss ja nicht purgen, man kann ja die Config behalten und alles.
Andrej: Ich habe das gemacht, Repo auskommentiert, dann mehr oder weniger der Proxmox-Anleitung gefolgt.
Andrej: Das ist ein bisschen komplex, weil es gibt halt die Single-Node-Variante und die Multi-Node.
Andrej: Hast du das, hast du ganz viele Fallunterscheidungen.
Andrej: da hast du Self, da musst du es so machen,
Andrej: da hast du dies, musst du es so machen
Andrej: und dann bist du dich da durchgearbeitet,
Andrej: es war ein bisschen Zeit vergangen.
Andrej: Aber im Endeffekt musst du deine Sourcen updaten
Andrej: in den /etc/apt/sources auf die neue Debian-Version.
Andrej: Da kannst du der Anleitung nicht einfach folgen,
Andrej: weil was ja alle Self-Hoster machen im Homelab,
Andrej: ist ja, die offiziellen Repositories von Proxmox
Andrej: sind ja hinter einer Lizenz
Andrej: und was du dann machst,
Andrej: ist, du nimmst dann die Enterprise-Testing-Repos,
Andrej: Die sind dann frei verfügbar und ja, das heißt, da muss ich mir erst mal draussuchen, wo sind die denn?
Andrej: Irgendwo haben wir Blogs gefunden, leider natürlich nicht auf der offiziellen Proxmox-Seite.
Andrej: Naja, hat aber alles geklappt.
Andrej: Dann startest du das Update, dauert natürlich eine Ewigkeit, bis du alle Pakete updatest.
Andrej: Und ja, und irgendwann stoppte das Update, oder nicht stoppte, es war einfach bei 98% und es ging nicht vorwärts.
Andrej: Da dachte ich so, ja gut, dann gucke ich noch einen Film oder so.
Andrej: gucke mich wieder, immer noch beachten,
Andrej: dann siehst du, ach nee, nee, gar keinen Bock
Andrej: auf sowas jetzt. Und bevor ich dann
Andrej: irgendwas gemacht habe, habe ich mal kurz gegoogelt,
Andrej: ja, ist wohl so, dass
Andrej: das irgendwie so stehen bleibt und du einfach Enter drücken musst.
Andrej: Und dann kommst du ins neue Prompt.
Thomas: Mhm.
Andrej: Ist relativ
Andrej: interaktiv, das Update,
Andrej: der fragt dich dann so bestimmte Sachen,
Andrej: du musst dann ja, nein sagen, welche Konflikte du noch behalten
Andrej: möchtest von deinem alten System,
Andrej: hier und da, ist jetzt nicht so ein Streamline-Prozess.
Andrej: Und was dann auch nervig
Andrej: war, ist, das habe ich nicht
Andrej: vorher gelesen in der Doku, steht da aber
Andrej: drin, du musst irgendwas mit
Andrej: im Journal deaktivieren, weil sonst
Andrej: spammt der dir deinen Update-Prozess immer voll.
Andrej: Du hast so ein Endcursus-Interface oder
Andrej: irgendein Tui, ich weiß nicht, ob es Endcursus ist,
Andrej: und der Journal macht das einfach,
Thomas: Nö.
Andrej: rotzt da einfach die ganze Zeit rein und du kannst gar nicht lesen,
Andrej: was da drin ist, welche
Andrej: Sachen du jetzt auswählen musst.
Andrej: Das ging dann, wenn du die Pfeiltasten hoch und runter gedrückt hast,
Andrej: dann kamen die Zeilen, die gerade aktiv waren.
Thomas: Ich glaube, du kannst auch Ctrl-L drücken, was meine ich.
Andrej: Okay. Ja,
Thomas: Dann rendert dir das nochmal komplett neu, aber das willst du nicht.
Thomas: Ist anstrengend.
Andrej: ich bin da relativ entspannt gewesen, weil irgendwie kommt man da schon
Thomas: Ja.
Andrej: hin. Aber ich denke mir so,
Andrej: wenn da so ein Typ sitzt, der einfach
Andrej: irgendein YouTube-Video nachgebaut hat,
Andrej: nachgeklickt und dann das sieht,
Andrej: was soll der denn da machen?
Andrej: Das ist echt eine Katastrophe.
Thomas: Ah, schade.
Andrej: Wer meint, dass das easy ist und jeder
Andrej: kann das machen?
Andrej: Also wenn der Shit den Fan trifft, dann hast du
Andrej: keine Chance, weil dann ist tiefes
Andrej: Linux-Wissen in meinen Augen verforderlich.
Andrej: Das war es im Endeffekt.
Thomas: Da würde man sich ja schon irgendwie eine GUI-Integration und einen sauberen Upgrade-Prozess wünschen.
Thomas: Oder wenigstens so dieses Ubuntu'sche Do-Release-Upgrade.
Thomas: So, ein Tool, was dich...
Andrej: Du machst nur, du änderst
Thomas: Ja, das schon?
Thomas: Okay.
Andrej: die Sourcen, die Repo-Sourcen
Andrej: und dann machst du ein Dist-Upgrade.
Andrej: Ja, das passierte, aber da sind noch ein paar Skripte hinter, die Proxmox halt dabei hat, die dich ein paar Sachen fragen und ja, also du machst im Endeffekt nur ein Debian-Update und dann dahinter wahrscheinlich die Proxmox-Skripterei, die dann halt hier die ganzen Fallunterscheidungen macht, um halt Updates zu machen.
Thomas: Mhm.
Andrej: Ja, das waren auch so Sonderfälle, wie wenn du eine Nvidia-GPU hast, hatte ich, aber ich habe die ja durchgereicht auf die VM, das heißt, ich habe sie ignoriert auf dem Host-System, keinerlei Probleme gehabt, super, und wo ich auch am meisten Schiss vor hatte, ist diese ganze, ich reiche ja nicht nur die GPU durch, sondern auch zwei, ne, mein HBA, HBA, mein Host-Bus-Controller für meine ganzen Festplatten und tatsächlich auch für ein paar SSDs, weil ich will, dass mein Ubuntu-NAS, mein Betriebssystem das verwaltet,
Thomas: Okay.
Andrej: Boah, hatte ich Angst, dass die ganzen IDs sich ändern und ich dann nicht mehr weiß, welche welche ist und dann, oh ne, da hatte ich so keinen Bock drauf, aber nichts passiert, alles in Ordnung. Ja, wenn das Host-System die IDs nicht irgendwie ändert, weil dann bringt dir das gar nichts, dass du die IDs fix hast.
Thomas: Wenn du es durchreichst, sollten ja eigentlich auch die IDs bestehen bleiben, ne?
Thomas: Ein bisschen Sorge zu haben, finde ich schon durchaus nachvollziehbar.
Andrej: Ich meine, das ist ja passiert beim letzten Mal. Ethernet-Interfaces heißen ja in vielen Distros nicht mehr ETH0 und 1 und 2 und 3, sondern haben die PCI, so eine komische ENSP0, was weiß ich, ich verstehe die Nummer nicht mehr, ich habe es mal nachgeguckt, aber das ist halt nicht mehr so, ja, das ist das Erste.
Thomas: Ach so.
Thomas: Ja.
Thomas: Mhm.
Andrej: Nee, das ist irgendwie ein PCI-Slot und was weiß ich nicht alles.
Andrej: Ist jetzt deterministischer als ETH0, weil das war ja auch nicht perfekt.
Thomas: Ja, genau.
Andrej: Das war ja auch immer von der Zeit abhängig, wann es initialisiert wurde und solche Sachen.
Andrej: Genau, aber dann hat alles geklappt, vor allem gestartet, war alles wieder da.
Thomas: Ein Butter-FS im Gast oder auf dem Proxmox-Host?
Andrej: Ich habe auch extra, woher, ach ja, ich wollte von der VM Snapshot machen,
Andrej: bevor ich das Update mache von meiner Ubuntu vor allem.
Andrej: Und dann mache ich das so, steht Fail.
Andrej: Was ist denn
Andrej: jetzt schon wieder? Warum kann ich hier nicht klicken
Andrej: und einfach Snapshot haben?
Andrej: Ja, ich konnte das nicht, weil
Andrej: ich glaube, weil ich da ein
Andrej: Butter-FS habe und das
Andrej: kann das nicht im laufenden Zustand mit dem Memory.
Andrej: Irgendwie sowas. Ich hatte keinen Bock
Andrej: zu... Ne, sorry.
Andrej: Ich habe ein ZFS-Mirror
Thomas: Ja.
Andrej: von zwei SSDs
Andrej: und dort sind die ganzen VMs drauf.
Thomas: Mhm.
Andrej: Das ist vor allem storage drauf.
Andrej: Und aus irgendeinem Grund
Thomas: Ja, zum Glück ist es ja direkt nach dem Update aufgetreten.
Andrej: konnte ich nicht eine Live-VM-Snapshot
Andrej: ging ums Memory. Musste ich die runterfahren,
Andrej: dann konnte ich sofort snapshotten,
Andrej: dann war es auch Instant, kein Problem.
Andrej: Und ja, genau. Dann war das Update auch
Andrej: irgendwann tue ich. Und ein paar Tage später,
Andrej: das habe ich dir auch geschrieben, ich weiß nicht, ob es damit
Andrej: zusammenhängt, kriege ich eine Nachricht.
Andrej: Ich habe Netdata wieder installiert.
Andrej: Kriege ich eine Nachricht von Netdata.
Andrej: Guten Tag,
Andrej: hier ist ein ZFS-Raid weg. So, was?
Andrej: Nee, ne? Direkt eingeloggt
Andrej: auf die Kiste. LSBRK
Andrej: sagt, Disk ist da. Okay.
Andrej: ZFS-Pool-Status, was auch immer.
Andrej: Ja, degraded, eine Disk ist weg.
Andrej: Was ist denn jetzt hier passiert?
Andrej: Ein paar Tage später war das auch völlig random.
Andrej: Bisschen gegoogelt, bisschen recherchiert.
Andrej: Erstmal die Kiste
Andrej: neu gestartet und dann war auch alles wieder da.
Andrej: Dann ZFS
Andrej: scrub gemacht und war alles okay
Andrej: und seitdem auch nichts mehr, seit einer Woche jetzt ungefähr.
Andrej: Aber das hat mich schon mit einem unguten Gefühl
Andrej: dagelassen. Da habe ich auch alle möglichen
Andrej: Werte gecheckt, smart.
Andrej: Die sind eigentlich nie genau neu, die Dinger.
Andrej: Ah, der ist Jahre alt.
Andrej: Das macht halt gar nichts gesagt.
Andrej: Kein Wear drauf, 100% noch alles.
Andrej: Da hatte ich aber schon so, hm, was war das denn jetzt, ne?
Andrej: Naja, vielleicht auch Hardware-Probleme beim PCI-Bus, ne?
Andrej: Deswegen ausgestiegen.
Andrej: Vielleicht der Controller von der Festplatte, also von der NVMe selbst.
Andrej: Da kannst du natürlich wenig machen, ne?
Andrej: Dann ist die ja tot.
Andrej: Aber jetzt seitdem läuft die wieder.
Andrej: Ich habe die aber jetzt mal ein bisschen unter genauerer Beobachtung.
Andrej: Ein paar Tage später.
Thomas: Oder sehr zeitnah.
Thomas: Ja, wenn du Glück hast, schon.
Andrej: Ne, ne, war versetzt.
Andrej: Also hat damit nichts zu tun, würde ich sagen.
Thomas: Also ich hatte öfters mal so Hardware-Issues in der Vergangenheit,
Andrej: Ja, definitiv, ja.
Thomas: die nach irgendwelchen Kernel-Updates aufgetreten sind.
Thomas: Und das war ja Major, ne?
Thomas: Also ich meine, da wird ja wirklich ein deutlich neuerer Kernel drin gewesen sein jetzt
Thomas: und dann irgendwelche Controller-Instabilitäten aufgetreten.
Andrej: Das Einzige, was ich dann nochmal gecheckt habe, ist
Thomas: Naja, hoffen wir es mal, weil Hardware-Schaden, der doof.
Thomas: Ja, das ist schon ein harter Bug.
Andrej: die SSD, die ich habe,
Andrej: Samsung 89
Andrej: Pro, die ist das, weiß nicht,
Andrej: so ein bestimmtes Modell,
Andrej: die hatten beim
Andrej: Launch im Markt, hatte die einen richtig
Andrej: bösen Firmware-Bug und zwar
Andrej: Daten verloren, massiv,
Andrej: überall auf der Welt. Und dann hat Samsung
Andrej: halt eine neue Firmware rausgebracht
Andrej: und ich habe gecheckt, ich hatte
Andrej: schon die neueste und ich meine, als ich die installiert
Andrej: habe, habe ich das auch recherchiert,
Andrej: Weil ich recherchiere dann immer, was für ein SSD kaufst du gerade.
Andrej: Und dann warnen alle vor der wegen dem Bug.
Andrej: Aber seit zwei Jahren gibt es diesen Patch-Storm.
Andrej: Und ich so, ja okay, dann patche ich es halt zur Not.
Andrej: Dann zahle ich halt 50 Euro weniger.
Andrej: Ja, ja.
Thomas: You had one job.
Thomas: To store data.
Andrej: Ja, da gab es auch richtig Shitstorm zu.
Thomas: Okay.
Thomas: Ja, das stimmt.
Andrej: Aber ich habe dann die Firma von den beiden SSD-Karten,
Andrej: SSD ist von der NVMe, ist gecheckt, alles richtig.
Andrej: Ja, jetzt muss Netdata seinen Job machen
Andrej: und mir rechtzeitig Bescheid sagen, falls da was aussteigt.
Andrej: Aber ich bin sehr froh, dass ich ein Tool habe,
Andrej: wo ich benachrichtigt werde über Default-Errors,
Andrej: wo ich mich nicht mit drum kümmern muss.
Andrej: Dass man dann sagt, du, kaputt.
Andrej: Okay, danke, ich gucke.
Andrej: Und nicht, wo ich vorher konfigurieren muss,
Andrej: dass ich gucken muss, dass der Pool noch in Ordnung ist.
Andrej: Es ist echt Convenience, ey.
Thomas: Und ich habe es deinstalliert, tatsächlich.
Andrej: Das ist richtig gut.
Andrej: Ernsthaft.
Thomas: Ja, weil ich mag es, wenn es weh tut.
Andrej: Du machst die Bleeding-Edge, ne?
Andrej: Ja.
Thomas: Ich weiß nicht, ich nutze das Tool nicht gerne,
Andrej: Ja, ja.
Thomas: aber wir hatten es ja schon mal, glaube ich.
Thomas: Ja, es kann einem den Hintern schon mal retten.
Andrej: Vielleicht zieht es auch bei deiner alten Kiste so viel,
Thomas: Es zieht dabei auch unglaublich viel Ressourcen.
Thomas: Aber es ist eigentlich auch legitim.
Thomas: Also, ich weiß auch nicht, warum ich es gemacht habe.
Thomas: Wahrscheinlich brauchte ich mal wieder.
Andrej: weil halt alte Instrumente.
Thomas: Ja, das kann natürlich sein.
Andrej: Ich meine, es zieht nicht wenig.
Thomas: Muss mir empfehlen.
Thomas: Ist auch...
Andrej: Naja, so 5-10% hast du schon weg.
Andrej: Aber es sind die egal bei einer Idle-Kiste, in meinen Augen.
Thomas: Au, warte.
Andrej: Müssen wir einen Chapter-Marker setzen oder passt das noch?
Thomas: Hatte ich dir das nicht geschickt?
Thomas: Das war geil.
Thomas: So, das muss ich jetzt mal auflösen kurz.
Thomas: Weil, als ich das nämlich entfernt habe...
Thomas: Ne, das passt dazu.
Andrej: Okay.
Thomas: Das passt.
Andrej: Oh nein, worum geht es denn?
Thomas: Du hast was von Netdata geschrieben.
Thomas: Hier, zack, zack, zack.
Thomas: Oh nein.
Thomas: Ich weiß nicht, ob es das...
Thomas: Entweder finde ich es nur nicht oder Stichwort war ein anderes.
Thomas: Stromverbrauch. Ich habe etwas
Andrej: Achso, warte.
Andrej: Hardware?
Thomas: entfernt von meinem System.
Thomas: Also Software
Andrej: Ja, kann sein bei dir.
Thomas: vom Server entfernt.
Thomas: Und danach ist der Stromverbrauch um, keine Ahnung,
Thomas: durchschnittlich, was waren es?
Thomas: 4 Watt oder so gesunken. Und ich glaube,
Thomas: es war Netdata.
Thomas: Das ist legitim. Ich fand es
Andrej: Bei mir ist es egal, weil ganz ehrlich,
Andrej: dann zahle ich immer ein bisschen mehr Strom
Andrej: und weiß, dass meine Daten noch safe sind.
Andrej: Ich verlinke auch mal in die Linksammlung.
Thomas: einfach nur überraschend. Naja, schade.
Thomas: Ich müsste mal gucken.
Thomas: Ich glaube, ich hätte dir irgendwie einen Screenshot geschickt oder so.
Thomas: Da kann man ja nicht so gut suchen.
Thomas: Nun ja, vielleicht finde ich es nochmal.
Thomas: Klingt sinnvoll.
Andrej: Genau, Samsung SSD 89 Pro habe ich.
Andrej: Und, ups, da mache ich mal einen Artikel von der Heise rein.
Andrej: das war 2000, ach Leute,
Andrej: mach doch das Datum dahin, 2023,
Andrej: schon was her, aber
Andrej: falls ihr mal so eine Platte habt, unbedingt
Andrej: das Update machen,
Andrej: also wirklich, ja, ja,
Andrej: ist natürlich auch wieder, soweit ich weiß,
Andrej: Windows-only-Tool und
Andrej: boah, naja, aber dann
Andrej: kriegt man irgendwie hin, zur Not eine Form, genau.
Andrej: Also ich sag mal so, Proxmox,
Andrej: schön und gut, einfach,
Andrej: nö, gibt natürlich jetzt viele, die sagen,
Andrej: öh, stimmt gar nichts, ja, wenn ihr das
Andrej: hauptberuflich macht, ist das auch gut,
Andrej: Ich habe da auch keinen Stress mit, weil
Andrej: auch wenn ich das jetzt, ich habe keinen Proxmox im beruflichen Umfeld,
Andrej: aber da ist halt Coemo und Co,
Andrej: da kann ich auch Perko mal eine Zeit, das kriegt man auch
Andrej: irgendwie hin zur Not. Aber das kann
Andrej: halt nicht jeder. Und ich finde
Andrej: das Wichtige ist auch immer, nicht immer mit
Andrej: Pampers vorm Rechner setzen zu müssen, ist auch hilfreich.
Andrej: Dass du dir da nicht immer in die Hose
Thomas: Ja, je mehr du auf einen Rechner packst, desto kritischer wird das auch, wenn der mal eine kurze Zeit lang nicht erreichbar ist oder gewartet wird oder was auch immer.
Andrej: machst, nur weil du da einfach ein paar Sachen machst
Andrej: und das hilft. Oder eine lange.
Andrej: Was? Ja, da geht es
Thomas: Ja, darf man nicht vergessen.
Thomas: Wahrscheinlich hätte es, ich meine, einige Leute, man liest das ja öfters hier so in Homelabs, die haben sich dann halt auch vielleicht mehrere von diesen ThinkCenter oder so gekauft und nutzen das als Proxmox Cluster,
Thomas: das ist vielleicht dann okay, dann migrierst
Thomas: du die VMs vorher rüber und
Thomas: ja, ja, ist es. Absolut. Du kannst
Andrej: aber um, wenn die Hochverfügbarkeit
Andrej: wichtig ist, was ich im Homelab
Andrej: Quatsch finde, aber weil das ja viel
Andrej: komplexer. Dann hast du noch
Thomas: halt erwartete Downtime
Andrej: einen Ceph dahinter.
Andrej: Ich weiß nicht. Also ich bin der Meinung,
Thomas: verhindern,
Thomas: aber ja. Machst du dir
Andrej: wenn man etwas oft tut, wird man gut da drin, auf jeden Fall.
Andrej: Wenn du jetzt ein Ami bist, der das beruflich
Andrej: immer macht, Ceph-Cluster,
Andrej: Ceph gut auch, aber auch
Andrej: Proxmos-Cluster zu updaten, easy peasy.
Andrej: Aber wenn du das alle
Andrej: drei Jahre machst oder wann auch immer
Andrej: ein neues Proxmos-Release rauskommt
Andrej: und du in den drei Jahren dich damit nicht beschäftigst,
Andrej: also ich vergesse dann 99%.
Andrej: Ich vergesse, was ich heute Morgen
Andrej: gefrühstückt habe und das ist eine Stunde
Andrej: her. Also, nein,
Thomas: Notizen dann von sowas? Okay.
Andrej: warum? Also, ich habe mir,
Thomas: Das ist wie alte Bookmarks, ne?
Andrej: ich wollte früher meine Notizen machen, habe auch tausende
Andrej: Markdown erteilt, wo so Notizen drin sind, dann gucke ich
Andrej: dann nachher durch, ich habe da mal vor ein paar Jahren mal wieder durchgeguckt
Andrej: und so, was ist das alles?
Andrej: Wofür habe ich mir das aufgeschrieben?
Andrej: Ja, du, ja, genau.
Thomas: Die sind eh outdated.
Thomas: Ich mach das manchmal für gewisse
Andrej: Mir helfen sie
Andrej: tatsächlich nicht, weil ich sie nicht in dem Augenblick
Andrej: finde. Jetzt kann man argumentieren, ja, dann
Andrej: hast du eine schlechte Suche oder kannst du
Andrej: mit LLM machen und so. Ja, dann kann ich auch
Andrej: gleich Google benutzen oder
Andrej: direkt in LLM. Da sehe ich dann
Andrej: Weiß ich nicht.
Andrej: Und wie oft habe ich das exakt gleiche Problem noch einmal?
Andrej: Okay, ja.
Thomas: Tasks, wo ich genau weiß, die werden
Thomas: irgendwann mal wiederkommen und dann
Thomas: will ich mir die Zeit sparen,
Thomas: wie zum Beispiel neue
Thomas: Platte hinzufügen. Initialisieren
Thomas: ins ZFS rein oder sowas. Mit
Thomas: Encryption und dem ganzen Kram. Diese Kommandos.
Andrej: Wobei, das kann ich schon mittlerweile auswendig.
Thomas: So, die schreibe ich mir auf. Die sind
Thomas: dann irgendwo in Apple Notes drin und dann suche ich
Thomas: irgendwas nach ZFS oder sowas. Dann finde ich die schon
Thomas: relativ schnell. Ja, kann passieren.
Andrej: Lux, BDFS, Mounting mit CryptTab und so,
Andrej: das ist bei mir, mache ich per Hand einfach so.
Andrej: Und was ich auch mache ist,
Andrej: und das würde ich auch jedem eigentlich ans Herz legen,
Andrej: der sich damit beschäftigt ist,
Andrej: wenn man das alle paar Jahre mal macht,
Andrej: kann das sein, dass sich da was geändert hat
Andrej: und diese Änderungen vielleicht auch sinnvoll sind.
Andrej: Sei es bei Verschlüsselung vielleicht einen neuen Header zu setzen,
Andrej: weil ein neues Encryption-Verfahren drin ist oder solche Sachen.
Andrej: Also weiß ich nicht.
Andrej: Ich bin immer gerne jemand, der sein Wissen überprüft
Andrej: und dann einfach mal kurz guckt.
Andrej: Muss auch nur eine Minute oder zwei sein.
Andrej: Gibt es da schon was Neues zu?
Andrej: Ist das besser, einfacher geworden?
Andrej: Weil sonst hängst du halt noch bei ganz alten Kommandos,
Andrej: die du benutzt.
Andrej: Und ich meine zum Beispiel, wie ist es mit hier,
Thomas: Ja, genau.
Andrej: unser Tulpen, das ist das NetStat.
Andrej: Der ist ja auch schon langs deprecated, NetStat.
Thomas: Ist da offiziell was deprecated?
Andrej: SS ist ja das neue Tool dazu.
Andrej: Und zwar seit, seit fünf, ja, das wird nicht mehr weiterentwickelt, seit Jahren, soweit ich weiß. Und, äh, der offizielle Nachfolger ist halt SS und, äh, der kann auch den Tulpenflag, soweit ich weiß. Genau. Ja, aber, ne, solche Sachen kriegst du sonst nicht mit, wenn du nicht mal zwischendurch mal guckst, gibst du eigentlich was Neues schon zu. Muss man eine Waage halten, weil sonst bist du nur beschäftigt mit neuen Sachen, das ist auch nicht richtig, ne.
Thomas: Ich meine, das ist...
Thomas: Ja, genau. Das ist gut zu wissen
Thomas: tatsächlich, dass man das im Grunde einfach
Thomas: übernehmen kann. Ja, weil
Andrej: Ja, und was ich über die Jahre jetzt gesehen habe, dass viele Tools, klar du hast Piping und so, aber viele Tools haben mittlerweile auch JSON-Output. Und damit kannst du wirklich viele coole Sachen machen, dir eine Config wegspeichern oder so, was in meinen Augen viel sinnvoller ist. Und dann kannst du, wenn die die Output haben, haben die häufig auch als Input-Möglichkeit.
Thomas: tatsächlich ist ja so Muscle Memory und alles
Thomas: basiert ja darauf, dass du Dinge
Thomas: wiederverwendest, die du irgendwann mal
Thomas: gelernt hast. Das muss, glaube ich, jeder für sich
Thomas: selber bestimmen. Aber hin und wieder mal
Thomas: überprüfen macht schon Sinn.
Thomas: Es ist eh gut zu prüfen, ob Tools
Andrej: Und dann, ja gut, Grab ist immer noch schneller, weil hast du schnell runtergetippt, bist du mit JQ da das Richtige. Uiuiui, ich kriege jedes Mal Pimpernellen, wenn ich mit JQ arbeiten muss, aber ja, das geht.
Thomas: JSON-Output haben, auch wenn du wirklich
Thomas: statt mit Grepp rumzuhantieren
Thomas: und seht oder sowas, um einfach nur einen ganz
Thomas: exakten Wert zu kriegen,
Thomas: bist du natürlich da viel genauer unterwegs.
Thomas: Am Ende aber auch nur eine
Thomas: Muscle-Memory-Frage. Wenn du es oft genug
Thomas: gemacht hast, irgendwann ist es drin. Aber ich bin auch
Thomas: noch in dieser Phase, wo ich
Thomas: leider jedes Mal wieder zu viel Zeit
Thomas: brauche, um irgendwas rauszuholen. Nicht für die ganz,
Thomas: für die Easy-Dinger, sowas wie ein Attribut
Thomas: von irgendwie, weiß ich nicht,
Andrej: Ja und das ist ja auch eher, das nutzt aber auch einen anderen Use Case. Das ist, wenn du etwas, weiß ich, automatisieren möchtest, dann nutzt du lieber JSON Output anstatt Grab AWK und Co., weil das ein bisschen deterministischer ist. Aber wenn du jetzt so Ad-Hoc-Sachen machst, einmal, dann brauchst du auch nicht mit dem Kram rumfuchteln.
Thomas: da ist eine Liste und in der Liste will ich
Thomas: jedes Mal die MAC-Adresse haben oder so. Das ist easy.
Thomas: Oder auch nur das erste Element der Liste
Thomas: ist auch easy, aber wenn man dann schon was Spezielleres
Thomas: haben wollen würde oder Dinge
Thomas: konkatenieren oder so, dann muss ich wieder nachlesen.
Thomas: Ja, dann machst du Clip, das ist klar.
Andrej: Ja, ja, ja.
Thomas: Da ist ja auch nicht wichtig, dass du nur
Thomas: exakt die Informationen rausfilterst
Thomas: schon im Code, die du
Andrej: Grepp minus C finde ich auch einfach
Thomas: brauchst, weil wir können ja
Thomas: ganz gut parsen, wir Menschen. Color, oder?
Andrej: das Beste, was es gibt.
Andrej: Nee, ist Surrounding. A ist, glaube ich, der obere.
Thomas: Ja. Minus groß B ist unten.
Andrej: Wenn du minus A, Groß A nimmst, ist der obere Teil.
Andrej: Minus B ist der untere Teil.
Thomas: Achso. Okay, dann kann ich das nicht.
Andrej: C ist beides. Ja, cool.
Thomas: Ich dachte, das wäre Color. A und B
Andrej: New gelernt. Das ABC von Grepp.
Thomas: kenne ich. Geil. Wieder was gelernt.
Andrej: Nice, ne?
Thomas: Ja. Vom Jungspund.
Andrej: Von dem Jungspund.
Andrej: So jung bin ich auch nicht, aber
Thomas: Was war das jetzt?
Andrej: im Vergleich zu Thomas schon.
Andrej: Oder anders. Du hast ein paar
Thomas: Marker rausschneiden.
Andrej: mehr Jahre in der Industrie als ich.
Thomas: Na gut. Ja.
Andrej: Nee, ich bin ja spät in die IT gekommen im Vergleich zu dir.
Thomas: Das haben wir aber an vielen Stellen dann schon gehabt,
Andrej: Du bist ja in der Jugend angefangen, ich nicht.
Andrej: Ja, aber AWK und Cut und alles, ne?
Thomas: dass das besonders spannend ist,
Thomas: weil wenn du jetzt Dinge neu lernst,
Thomas: kommst du oftmals halt
Thomas: nicht mehr auf die Resultate, die ich bei mir abgespeichert
Thomas: habe, die halt wirklich ins
Thomas: Muscle Memory übergegangen sind, weil du die halt
Thomas: so oft benutzt hast, wie keine Ahnung.
Thomas: Das macht auch jeder anders, wenn
Thomas: du wirklich was händisch filtern willst, keine Ahnung,
Thomas: Grab ist klar, aber dann willst
Thomas: du zum Beispiel, genau, du willst
Andrej: Ja.
Thomas: den zweiten oder dritten Wert in der Zeile
Thomas: haben, so viele Leute nutzen Cut, das
Andrej: Ich glaube, da hat sich auch ein bisschen was geändert.
Thomas: hat bei mir nie Klick gemacht, ich mache das immer mit
Thomas: AWK, brauche ich ein paar
Thomas: Charakter mehr, aber so, das macht doch
Thomas: vielleicht keinen Sinn, weil heutzutage gibt es auch noch andere Tools
Thomas: und ja, da muss man mal
Thomas: gucken. Liebevoll.
Andrej: Ich glaube, in deiner Zeit hat man ja viel manueller gearbeitet.
Andrej: Server drauf, fix, fix, dies, das.
Andrej: Da gab es ja nicht so viele Orchestrierungstools.
Andrej: Und ich habe ja sofort angefangen mit Ansible, Terraform und Co.
Andrej: Oder zumindest habe ich das in der Firma gepusht, wo ich war
Andrej: und musste mich dadurch nicht um die,
Andrej: sagen wir mal, alte Infrastruktur kümmern.
Andrej: Und ich glaube, dadurch, ich muss bei AWK und CAD, weil ich das so selten benutze, muss ich das jedes Mal nachgucken, wie das funktioniert.
Andrej: Ich kriege das hin, keine Frage.
Andrej: Aber es ist nicht im Massenmöbel drin, weil ich das nicht täglich brauche.
Andrej: Und dafür haben wir halt diese, was ist das, Cattle versus Snowflake.
Andrej: Du hast ja Snowflake-Server, ich bastel die und hier und da, die einzigartige Schneeflocke, die ich, ja, ja.
Thomas: Da mal streicheln, hier mal.
Andrej: Oder weniger liebevoll geht auch.
Thomas: Genau. Ja, vor allem, es gibt wirklich Tools.
Andrej: Aber jetzt die Cattle-Diskussion.
Andrej: Ich bin einfach später angefangen und ich glaube, diejenigen, die jetzt anfangen und nicht manuell Server betüddeln müssen,
Andrej: die lernen das anders, weil die andere Tools nutzen müssen.
Andrej: Ja, früher gab es ja nichts.
Thomas: Das ist ein Riesenunterschied, weil
Thomas: wenn du früher auch automatisieren
Andrej: Na gut, Chef gibt es auch schon länger.
Thomas: wolltest, konntest du das ja, aber du
Thomas: musstest das halt mit Shell Script oder
Thomas: Perl oder was weiß ich was
Thomas: machen und du musstest dir, ja,
Andrej: Das stimmt, ja.
Thomas: aber warte, warte, warte. Ja, gibt's wahrscheinlich
Thomas: vielleicht schon länger, aber die Frage ist ja, wann hat sich das so
Thomas: richtig etabliert? Wer ist das
Andrej: Chef und Salt, ich weiß nicht, welches älter ist.
Thomas: Chef?
Thomas: Ich glaube, mit Salt hat bei mir angefangen, so
Andrej: Ich nehme an, Chef.
Andrej: Heißt das jetzt Progress Chef?
Thomas: 2011, 12
Thomas: Rom oder sowas. Vielleicht war das aber auch schon
Thomas: ein bisschen late in the game, muss ich sagen. Soulstack hieß
Thomas: das, ne? Soulstack. Okay.
Andrej: Formerly Chef, oh, wusste ich gar nicht.
Andrej: Das ist anscheinend von 2009.
Andrej: Wow, das hat ja mit mir Abi gemacht.
Thomas: Geil. Und
Andrej: Quasi.
Andrej: Und Puppet?
Thomas: wie sieht's hier aus? Puppet. Ja, ich versuch
Andrej: Ja, das tut mir leid.
Thomas: gerade. Ich bin auf der Wiki-Seite, aber ich bin
Thomas: auf der deutschen gelandet und irgendwie ist
Thomas: die nicht übersichtlich. Wow.
Andrej: 2005. Oh, sogar noch älter.
Andrej: Krass, ich dachte, der Chef wäre älter.
Thomas: Ne, Moment. Initial Release 2011.
Andrej: Puppet. Achso, warte mal.
Thomas: Wo hast du 2005 gelesen?
Thomas: Ach, Puppet. Ich bin bei SaltStack.
Andrej: Ah, dann ist Puppet der Erste gewesen.
Thomas: Okay. Also SaltStack 2011.
Thomas: Das kann sein. Also bei mir hat das
Andrej: Crazy. Das wusste ich nicht.
Andrej: Naja. Ja, guck, und wenn das bei...
Thomas: mit dieser Art von Automatisierung glaube ich
Thomas: irgendwann so elf, zwölf, dreizehn oder so
Thomas: angefangen. Also elf wird es dann nicht gewesen sein,
Thomas: weil das erste Tool war nämlich SaltStack bei mir [OK]
Thomas: und dann war es wahrscheinlich zwölf oder dreizehn.
Andrej: Und ich habe ja erst 2017 damit angefangen
Thomas: Genau. Früher hat man halt
Andrej: oder 2016 damit angefangen zu arbeiten
Andrej: in der IT. So, und dann passt das.
Andrej: Das war halt gerade diese Configuration-Management-Phase,
Andrej: wo alle auf Ansible und Puppet
Andrej: und so umgestiegen sind.
Andrej: The hot shit. Und dann kam Terraform irgendwann
Andrej: wegen Cloud.
Andrej: Dependency is hard. Ach ja, Haken dran.
Thomas: alles händisch runtergekrasselt. Und wenn du es
Thomas: heutzutage mit Cloud machen würdest,
Thomas: dann, also
Thomas: das ist ja schon faszinierend, wenn du
Thomas: Dinge mit
Thomas: Cloud oder auch Gemini oder sowas machst,
Thomas: dass häufig aufgrund von
Thomas: der Motivation
Thomas: wenig Abhängigkeiten zu haben, machen die
Thomas: Dinger ja wieder sehr viel, wie man
Thomas: es früher gemacht hätte. Und zwar bauen sie
Thomas: halt wieder, schreiben sie Code from scratch.
Thomas: Das habe ich jetzt an vielen Stellen
Thomas: schon erlebt und das ist auch
Thomas: jedes Mal wieder faszinierend, was das für
Thomas: die Performance bedeutet. Und natürlich
Thomas: die Liste an Abhängigkeiten, die du pflegen musst.
Thomas: Gerade heutzutage mit
Thomas: Supply Chain Attacks ist
Thomas: das leider auch irgendwie relevant.
Thomas: Ja, Haken dran. Dann würde
Andrej: Kleiner Ausschweifer. Moment, worum geht's?
Thomas: ich mal kurz erwähnen,
Thomas: auch wenn es nur wirklich kurz ist.
Thomas: Ich wollte es eigentlich größer covern diesmal,
Thomas: Aber du hast mich irgendwann gefragt, für uns Allstack, so bis jetzt, Historie, wie sieht es aus, Breaking Changes, viel gehabt oder sowas.
Thomas: Stalwart, sorry.
Andrej: Ach so, dein E-Mail-Server.
Thomas: Und ja, jetzt sind sie gekommen, die großen Breaking Changes.
Andrej: Ja, okay.
Andrej: Ja, 016 war's.
Thomas: Es gibt dieses, was ist es, 0.16er Release oder sowas, habe ich.
Thomas: Und da haben sie wirklich, also ich hatte mich im Vorfeld schon ein bisschen gewundert.
Andrej: Ja, ja. Ich hab's im Kopf, ja.
Andrej: Wie? Du willst jetzt hier berichten, wie es war, oder was?
Thomas: Ich glaube, das war die vorletzte Folge, wo wir nochmal das Update mit der Erfahrung gecovert haben, weil da hatte mich Ingo angeschrieben, ehemaliger Kollege, also nicht der Ingo von letzter Folge, sondern der hatte auch gefragt, hey, wie sieht es denn aus, jetzt nochmal Real-World-Erfahrung, flupp dat.
Thomas: Und ja, genau. Zu dem Zeitpunkt gab es auch minimale Breaking Changes. Updates waren einfach. Jetzt haben wir gerade wirklich ein größeres Update. Ich freue mich trotzdem drauf. Also nicht das auszuführen, das habe ich nämlich immer noch nicht gemacht. Wollte ich. Wollte ich. Also an der Stelle berichte ich nur, dass ich berichten werde, denke ich. Beim nächsten Mal.
Andrej: Berichtenswert.
Andrej: Ja, ja, ja.
Thomas: Weil, was sie nämlich groß umgebaut haben, ist das gesamte Konfigurationsmanagement.
Thomas: Das hatte vorher diese Probleme, die, ich glaube, Michael war es, der es beim EVCC-Projekt schon mal berichtet hat.
Thomas: Wenn du was in der GUI einstellen kannst, aber auch im Config-File, dann konfliktet das ja bei Design erstmal schon mal.
Andrej: Wie sind die konfiguriert?
Thomas: Und das hatte Stalwart auch, oder hat in meiner Variante noch.
Thomas: Ich glaube, es war TOML.
Andrej: Jammer, Tommel, SQL, keine Ahnung.
Andrej: Also Tommelfiles oder irgendwo
Thomas: Ja, es war auf jeden Fall eine Datei, in der du was reinschreiben kannst, wenn du möchtest.
Andrej: Konfig-Files und dann auch im GUI noch.
Thomas: Und da war das dann auch schon so, du kannst das aber auch teilweise, also Dinge, die in der Doku noch als musst du da in der Datei konfigurieren standen,
Thomas: konntest du dann plötzlich schon in der GUI einstellen und das war dann sehr verwirrend für mich.
Thomas: Also gerade so in der initialen Phase.
Thomas: Wenn du es einmal gemacht hast und es irgendwann läuft, dann gehst du da eh nicht mehr ran.
Thomas: Meine Erkenntnis war, ich habe von Anfang an angefangen, Dinge in diese Config-Datei zu schreiben, die da gar nicht reingehörten, weil sie eh schon im Interface waren.
Thomas: Ich das nur nicht gesehen hatte zu dem Zeitpunkt.
Thomas: Und dann hatte ich später, ich weiß es nicht mehr, komische Effekte, sagen wir es mal so.
Thomas: Die Config-Datei ist jetzt eh schon bei mir relativ minimal und das meiste wird über die GUI eingestellt.
Andrej: Ich habe gelesen, dass das GUI im Endeffekt
Thomas: Und jetzt haben sie halt das ganze System nochmal komplett umgestellt, dabei auch viel überarbeitet an Config-Files
Thomas: und überhaupt, wenn man sich dieses Release anschaut, das ist halt einfach deutlich größer geworden, als ich erwartet hätte.
Andrej: eine komplett neue App ist. Also ich habe es noch nicht
Thomas: Ja, genau. Vom Scratch gebaut.
Andrej: gesehen, aber ja. Ja, da wollte ich,
Thomas: Und die wollten auch demnächst mal ein neues Webmail bauen.
Thomas: Oh, okay, okay, okay. Okay. Gut, gut, gut.
Andrej: das ist mein Thema. Warte mal, warte mal.
Andrej: Mach du erst mal fertig. Ich habe hier, das ist
Thomas: Oh, oh, schön.
Andrej: die Überraschung.
Andrej: Warte, wo ist denn der, wo ist denn der Punkt?
Thomas: Ähm, genau, was hat man denn sonst noch?
Thomas: Äh, schade, ich habe mir hier eine Notiz gemacht,
Thomas: weiß aber nicht mehr genau, was sie mir sagen sollte.
Thomas: Das war auf jeden Fall eines der Features, die jetzt neu drin sind,
Thomas: weil es ist halt nicht nur Maintenance Release.
Thomas: Die haben auch neue Features reingepackt.
Thomas: Und ich hatte mich im Vorfeld eben gewundert, lange kein Update mehr.
Andrej: Achso. Achso, Autoconfig.
Thomas: Äh, hier, Automatic Configuration of Email Calendar and Contact Server Settings.
Thomas: Warte, da, 2201, Switch Feature Improvement.
Thomas: Ach, da ging es um Apple.
Thomas: Apple Auto-Config, genau, weil das war ja noch ein Long-Standing-Issue bei mir,
Andrej: Ich habe dazu auf jeden Fall was gelesen
Thomas: dass gewisse Auto-Config-Dinge nicht sauber funktioniert haben.
Thomas: Ich hoffe mal, vielleicht ist es damit besser.
Thomas: Naja, okay.
Andrej: in den Release Notes, weil ich habe darüber auch
Andrej: geschrieben. Und das andere,
Andrej: was ich spannend fand, ist Autodecim
Andrej: Rotation. Hast du das bei dir
Andrej: aktiv? Also das kommt jetzt in den Release.
Andrej: Das finde ich spannend, weil
Andrej: Und DKIM ist ja so ein Key,
Andrej: den du ja auf deinem Mesh-Server konfigurierst
Andrej: oder auf deinem DNS.
Andrej: Im Endeffekt, dein Mesh-Server gibt dir den.
Andrej: Und ich wollte das eigentlich auch bei meinem Mailgun haben,
Andrej: um halt ein bisschen sicherer unterwegs zu sein
Andrej: für meinen Newsletter.
Andrej: Und ja, wie das bei Mailgun ist,
Andrej: du enablest das und musst dann alle,
Andrej: weiß nicht, zwei Monate oder so,
Andrej: musst du den Key halt im DNS updaten.
Andrej: Und ich dachte, nee.
Andrej: Und das habe ich dann wirklich,
Andrej: das habe ich zwei Wochen vorher gelesen.
Andrej: Ist auch egal, habe ich dann gedacht.
Andrej: Und dann lese ich die Storyboard-Releasing und dann denkst du
Andrej: Auto-DNS-Decam-Rotation.
Andrej: Nice, über API? Wie geil
Andrej: ist das denn? Weil wenn du
Thomas: Ach, Auto, ich war so irritiert, weil DKIM nutze ich ja auch jetzt schon in der alten Version,
Andrej: Cloudflare und so benutzt, ach, ja,
Thomas: aber mit DNS-Einträgen, die du einmal einträgst.
Andrej: genau, ja. Aber
Thomas: Weiß nicht, was ist da?
Andrej: es ist wohl der Trend, dass
Thomas: Okay, das macht Sinn.
Andrej: Decam-Keys rotieren sollen.
Andrej: Security, ne? Rotating.
Andrej: Und dann, wenn du es manuell machst, machst du es
Andrej: nicht. Oder du machst es nicht
Andrej: und deine Mails werden halt nicht zugestellt, weil
Andrej: du auf einmal einen anderen Key hast. Weil der Mail-Server
Andrej: sagt dann, ich habe einen neuen Key, der DNS
Andrej: sagt aber, nee, und dann
Andrej: landet es halt nicht mehr im Postfach.
Andrej: Stopp, wir sind noch bei Styleboard, oder?
Thomas: Das ist eigentlich auch ein super Übergang.
Andrej: Okay, du hast ja gerade gesagt,
Thomas: Okay, beide Übergänge sind gut, aber dann mach du mal deinen.
Thomas: Ja.
Andrej: die bauen ein neues Webmail, ne?
Andrej: Ja, ich weiß sogar, wer das baut.
Thomas: Den Fotogeschichten.
Andrej: Der Linus Rath, der bei uns auf Meetup
Andrej: war mit den Fotogeschichten,
Andrej: der hat doch
Thomas: Ach, geil.
Andrej: so ein Fotosetup oben im ersten Stock
Andrej: aufgebaut und
Andrej: mit dem war ich letztens, ich war letztens beim
Andrej: Daniel von
Andrej: Smart Home Yourself, dem YouTube-Kanal, war ich
Andrej: im Discord, haben wir rumgehangen und dann
Andrej: kam der Linus vorbei und hat dann gesagt, dass
Andrej: er halt ein Webmail baut, zusammen mit,
Andrej: also in Absprache mit den
Andrej: Star-Wars-Entwicklern. Das ist der Client von dem.
Andrej: Und der sieht wirklich sexy aus.
Thomas: Wie heißt der denn?
Andrej: Also, richtig. Warte.
Thomas: Ah, hier.
Andrej: Wo sind die Nudels?
Andrej: Ja, genau. Ah ja, danke.
Thomas: Star-World-Geheimnis.
Thomas: Was ist das?
Thomas: Klick.
Thomas: 404.
Andrej: Klick drauf. Warum nochmal
Andrej: ein String hinter ist?
Andrej: Sorry. Genau, der
Thomas: Ach so, Komma.
Thomas: Komma am Ende.
Thomas: Bring.
Thomas: Mail.
Andrej: heißt Bulwark. Genau.
Thomas: Blog-Mail.
Thomas: Ah, okay.
Thomas: Cool.
Andrej: Man soll ihn
Andrej: noch, ja,
Andrej: vor einer Woche oder zwei, weiß nicht, ne, vor zwei Wochen
Andrej: oder drei sogar, habe ich mit Linus darüber
Andrej: gesprochen im Discord und
Andrej: der soll auch wohl mehrere Konten können.
Andrej: Sieht ganz nett aus
Andrej: und soll integriert werden.
Andrej: Er ist in engeren
Andrej: Zusammenarbeit mit dem
Andrej: Styleboard-Entwicklern.
Andrej: Mail, Kalender, Kontakte und Files.
Thomas: Cool.
Thomas: Ich hatte am Anfang meiner Star-World-Zeit irgendwo von den Jungs selber nämlich die
Thomas: Information gelesen, dass sie ein Webmail bauen wollen, dass das irgendwann mal kommen
Thomas: soll.
Thomas: Aber gerade eben noch nicht.
Thomas: Und das ist ja schön, weil die Erfahrung, die ich vor ein paar Monaten gemacht habe,
Thomas: als ich nämlich wirklich ein Webmail brauchte,
Thomas: war dann, dass ich total niedergeschlagen war, ehrlich gesagt.
Thomas: Und wieder bei Roundcube gelandet bin.
Thomas: Was okayisch ist, aber halt, also zumindest nicht, wenn du Groupware auch haben willst.
Thomas: Gut, das ist jetzt die Frage natürlich, ob Bulwark auch Groupware integriert oder wirklich nur Mail macht.
Thomas: Geil.
Andrej: Genau.
Thomas: Ah ja, der nutzt ein JMAP, ne, als Basis.
Thomas: Das ist natürlich fein. Ein Protokoll für alles.
Andrej: Weil es gibt bisher, ich weiß nicht, ob das
Thomas: Sexy.
Andrej: Linus jetzt gesagt hat oder ob ich das irgendwo gelesen habe,
Andrej: gibt es keine Clients, die nur JMAP machen
Andrej: aktuell. Das heißt, du brauchst ja den ganzen
Andrej: und S-MIME könnt ihr auch, also Verschlüsselung,
Andrej: wenn du möchtest. Das fand ich ganz
Andrej: interessant. Ja, da bin ich mal
Thomas: Schön. Also hier
Andrej: gespannt. Also ich warte noch ein paar
Andrej: Releases ab und ich glaube, dann werde ich auch die Tage mal
Andrej: mit die Tage. Die
Andrej: Monate schrägstrich Jahre,
Andrej: ich sag mal so, bevor meine Tochter
Andrej: volljährig ist, werde ich wahrscheinlich auch
Andrej: irgendwann gemeldet, gewechselt haben.
Andrej: 18 Jahre habe ich noch.
Andrej: Hä? Wo siehst du her?
Thomas: steht ja momentan noch auf der Webseite von
Thomas: Bulwark, E-Mail ist 54.
Thomas: Webmail doesn't have to be.
Thomas: Ich hab erstmal überlegen müssen, was meint der denn mit 54?
Thomas: Aber ich glaube, er meint einfach das Alter.
Thomas: Da drunter ist nämlich noch eine Timeline.
Thomas: Und dann wäre ja E-Mail
Thomas: schon fast 70, wenn du so lange
Thomas: warten würdest, bis die Tochter erwachsen ist.
Andrej: Achso, nee.
Thomas: Frischgebackener Vater.
Andrej: Linus meinte,
Thomas: Good to know. Ich hab ne lange Zeit
Andrej: haben ein paar Leute auch schon auf ihrer
Andrej: Produktionsinstanz installiert und
Andrej: Daten verloren, von daher aufpassen.
Andrej: Genau. Ja, das interessiert mich wirklich.
Andrej: Wenn du dann ein performantes Webmail hast,
Andrej: auch ein schönes, ein bisschen
Andrej: Klickibunti muss man ja schon haben bei Webmail.
Andrej: So ein Terminal-Ding braucht man sich jetzt nicht reinpfeifen
Andrej: in meinen Augen, aber ja. Mit Plugin-System.
Thomas: lang nur Webmail benutzt, ne? Mit Gmail.
Andrej: Ich auch. Ich bin
Thomas: Mhm. Ja.
Andrej: jetzt auch nur wegen den
Andrej: vielen Postfächern und Domains auf Thunderbird
Andrej: jetzt gegangen. Das Einzige, was mich
Andrej: nervt oder was ich geil fand an Gmail
Andrej: und bei Thunderbird scheiße ist,
Andrej: Filter schreiben. Deswegen mache ich das bei Thunderbird
Andrej: einfach nicht, weil die funktionieren halt nur auf
Andrej: einem Gerät. Und zwar dort, wo du den Filter geschrieben hast
Andrej: und nicht mobile. Und dann habe ich auch
Thomas: Hat. Mhm. Ja.
Andrej: gefunden dieses, was war
Andrej: hier gerade auch drin? Seaf?
Andrej: Ist das Seaf? Äh, wo ist das jetzt?
Andrej: Whatever. Das ist diese Filter
Andrej: Language, die du nutzen kannst. Ich wusste
Andrej: nicht, dass die existiert. Ich nehme mal an,
Andrej: dass Gmail das im Hintergrund auch macht.
Andrej: Seaving? Seaf? Regeln schreiben?
Andrej: Kann ich mir vorstellen. Ich wusste gar nicht, dass
Andrej: man das serverseitig so machen kann. Ich dachte, das wäre so ein Gmail
Andrej: Ding. Genau.
Thomas: Und ich kannte das eher so von
Thomas: alten Zeiten. So Postfix,
Thomas: bla bla bla und dass man das
Thomas: da irgendwie konfiguriert hat und ich glaube teilweise
Thomas: eben auch global dann Regeln definiert
Thomas: hat oder pro User, aber als Admin.
Thomas: Es gibt wohl eine API,
Thomas: wenn ich das richtig verstehe. Also PostStoward
Thomas: unterstützt das auch und ich glaube, da gibt es eine API, wo
Thomas: du das nutzen kannst, aber es gibt
Thomas: auch nicht viele Clients, die wiederum
Thomas: Ziv-Wools
Thomas: generieren können.
Thomas: Ja, das wär's.
Andrej: Ja, ich hatte dann auch kurz, ich habe
Andrej: mein Mail-Cow-Admin-Interface reingeschaut
Andrej: und man kann dann die CIF-Regeln schreiben.
Andrej: Die sind ein bisschen krude zu schreiben,
Andrej: sag ich mal, wenn man das so vergleicht mit heutiger
Andrej: Syntax, die man so kennt.
Andrej: Ja, ich habe es dann gelassen.
Andrej: Vor allem, weil es auch
Andrej: global ist, weil ich brauche das nicht
Andrej: global. Ich möchte das pro Account
Andrej: haben. Ich möchte im Endeffekt wie meine Gmail-Filter.
Andrej: Wenn die Domain das ist, dann bitte hier.
Andrej: Wenn das einen Unsubscribe-Link
Andrej: hat oder den Text, dann bitte
Andrej: Newsletter-Ordner. Dies, das. Solche Kleinigkeiten.
Andrej: Das finde ich total ärgerlich, dass es keinen Standard gibt, den du über den Mobile Client, den Desktop Client oder was auch immer du hast, halt synchron halten kannst. Es wäre halt Seave, aber ja. Vielleicht gibt es ja auch Seave Clients, also separate. Ja, es ist deprecated. Genau, das war auch mein Gedanke. Ja, sonst filterst du halt mal schnell mehr raus, als du möchtest.
Thomas: Ich glaube, Thunderbird hatte mal
Thomas: ein Add-on oder sowas.
Thomas: Das hatte ich nämlich dann auch versucht zu benutzen,
Thomas: weil ich bin nie eingestiegen in das Thema
Thomas: mit den Wools, die selber zu schreiben und
Thomas: jetzt würde ich denken, ja gut, dann
Thomas: versuche ich es einfach mal mit Claude, soll der mir halt
Thomas: das Zeug generieren.
Thomas: Da muss ich es nur noch irgendwie reinhauen, aber es muss
Thomas: natürlich auf jeden Fall pro User sein.
Thomas: Alles andere ist natürlich Gappes.
Thomas: Ja, okay, cool.
Andrej: Okay, das wollte ich dir mitteilen.
Thomas: Ich freue mich drauf.
Andrej: Und für, ja, es gibt auch eine Full-Feature-Liste im Readme,
Thomas: Vor allem auch, wenn es um Kalender und Kontakte ist.
Thomas: Das ist bei mir tatsächlich auch durch das Stalwart-Update aufgeschlagen.
Andrej: da kannst du mal reingucken.
Andrej: Und für iPhone-Nutzer leider nicht relevant,
Andrej: aber für Android halt geil, PWA-Support.
Andrej: Wie ich das liebe, einfach so eine Web-App installieren,
Andrej: dann ist die wie native, oh, Träumchen.
Andrej: Spaß in den App-Store und alles.
Andrej: Ja, du wolltest aber noch ein anderes Mail-Thema weitergehen.
Andrej: Ah, okay.
Thomas: Das ist schön, da sieht man noch Storyboard.
Thomas: Die Jungs sind am Zahn der Zeit.
Thomas: Und weil in dem Changelog stand nämlich drin,
Thomas: Support für DNS-Persist-01 Challenge.
Thomas: Let's Encrypt.
Thomas: Das ist cool.
Andrej: Warte, Marker, Marker, Marker.
Thomas: hatte ich noch gar nicht auf dem Radar.
Thomas: Es gibt nämlich eine neue Challenge.
Andrej: So, jetzt.
Thomas: Achso, okay. Es gibt eine neue
Andrej: Habe ich, habe ich, habe ich.
Thomas: Challenge und zwar
Thomas: eben diese DNS-Persist-01 Challenge.
Thomas: DNS gab es ja schon
Thomas: und DNS ist vor allem dann,
Thomas: also ich glaube die meisten Leute, die mit Let's Encrypt
Thomas: anfangen, die werden wahrscheinlich einfach standardmäßig
Thomas: HTTP oder
Thomas: Alpen nehmen, also weil du einfach,
Thomas: wenn es von außen erreichbar ist, ist das
Thomas: fein, ne? Dann wird irgendein Token
Thomas: generiert, der von außen einfach ausgelesen
Andrej: Ja, dieses Well-Known-Verzeichnis auf dem Webserver dann wenig, ne?
Thomas: wird und Let's Encrypt sagt, oh ist klar, du
Thomas: Du bist berechtigt, Attacke.
Thomas: Aber wenn du halt von außen
Thomas: nicht erreichbar bist, weil das vielleicht ein rein internes
Thomas: Interface ist, dann
Thomas: stehst du doof da.
Thomas: Da brauchst du dann DNS-Challenge zum Beispiel.
Thomas: Und bei DNS-Challenge wiederum
Thomas: musst du natürlich erstmal, du brauchst eine eigene
Thomas: Domain auf jeden Fall, ist klar, brauchst du dann
Thomas: da einen
Thomas: DNS-Provider, der dir eine API gibt
Thomas: und dann muss an der Stelle, wo
Thomas: eben diese Challenge ausgeführt wird,
Thomas: also in der Regel auf dem Server selbst,
Thomas: musst du halt auch dann
Thomas: die Credentials für diese API haben.
Thomas: Und da wird es dann kritisch so langsam.
Thomas: Sagen wir mal, du hast irgendwie so 20 Systeme
Thomas: mit unterschiedlichen Interfaces,
Thomas: alles in derselben Domain
Thomas: und alle müssen so ihre eigenen Zertifikate quasi verwalten
Thomas: und mit deiner DNS-Zone hantieren.
Thomas: Dann ist erstmal die Frage,
Thomas: was bietet dir denn so dein DNS-Provider überhaupt
Thomas: an ACLs für die Credentials an?
Thomas: Ich weiß, INWX,
Andrej: Naja, aber bei DNS-Challenge mit Cloudflare zum Beispiel bin ich relativ happy, muss ich sagen.
Thomas: da musst du wirklich deinen Username und Passwort reinhämmern
Thomas: in den API-Client.
Thomas: Das ist derselbe, mit dem du auch die Domain kündigen kannst.
Thomas: Das ist nicht cool.
Thomas: Das ist gar nicht cool.
Thomas: Ja, Cloudflare hat wahrscheinlich API-Tokens erstmal.
Andrej: Das ist sehr entspannt, weil da, ich habe letztens mal, genau, ja gut,
Thomas: Das ist eine gute Sache.
Thomas: Fangen wir mal von vorne an.
Andrej: da hätte ich, ich habe, ich hatte sehr viele API-Tokens, die so einen Default-Namen hatten,
Andrej: der einfach generiert wird und dann wusste ich nicht mehr, welcher,
Andrej: aber ich habe gesagt, okay, jetzt lösche ich mal alle.
Andrej: Und ja, und dann benenne ich die auch mal, welcher Traffic jetzt, ne,
Thomas: Ja, ist doch geil, dass sowas geht.
Andrej: der interne, der im VPS und so weiter.
Andrej: Und dann fiel mir auf, Mist,
Andrej: ich habe nur die Domain erlaubt, nicht
Andrej: alle. Habe ich die Domain noch hinzugefügt
Andrej: und dann so peu a peu kommt man dahin.
Andrej: Ja, das war gut. Und es war halt nicht sofort
Thomas: Das ist genau gut.
Thomas: Domain-basierte Freigabe.
Andrej: kaputt. Aber was ist jetzt der Unterschied zwischen
Thomas: Ah, okay.
Andrej: dieser CNS-Challenge zu der
Andrej: S-Persist-01-Challenge? Mein Gott, ist das ein Scheißname.
Thomas: Ja, sie macht aber Sinn.
Andrej: Es soll, glaube ich, auf 60 gehen, ne?
Thomas: Weil die DNS-Challenge, da musst du halt...
Thomas: Wie lange sind Zertifikate heutzutage gültig?
Thomas: Das ändert sich ja gerade.
Thomas: Das ist ja im Wandel.
Thomas: Es war ja ursprünglich drei Monate, genau, 90 Tage waren es und jetzt geht es auf 60 runter und ich glaube, der nächste Schritt irgendwann wird, oder in ein, zwei Jahren soll es irgendwie auf 30 oder so runtergehen oder 45, ich weiß es nicht mehr.
Andrej: Ja, weniger.
Thomas: Aber man möchte halt nicht mehr, dass man lange diesen Dingern vertraut, sondern dass die Validierung häufig stattfindet.
Andrej: Woher weiß ich den? Ja,
Thomas: Das heißt aber natürlich auch, wenn du häufig deine Validierung machen musst für DNS, dann musst du auch häufig an die DNS-Records ran.
Thomas: Und das kann halt problematisch sein, je nachdem, wie gesagt, was für Möglichkeiten dein DNS-Provider dir bietet und welche ACLs und blablabla.
Thomas: DNS-Persist-01 ist fast das, was der Name sagt.
Thomas: Du definierst es einmal und es wird wiederverwendet.
Thomas: Es ist also erstmal bei Design unsicherer als eine normale DNS-Challenge.
Thomas: Die normale DNS-Challenge wird ja bei jedem Update einmal nochmal sichergestellt.
Thomas: Ah ja, du hast immer noch alles, was du brauchst.
Thomas: Also um sicherzustellen, dass du der Eigentümer bist.
Thomas: Du hast immer noch deine DNS-Credentials, mit denen du neue Einträge anlegen kannst.
Thomas: Und damit kann man sagen, okay, du bist wohl berechtigt.
Thomas: Bei Persists geht man so einen Mittelweg.
Thomas: Du legst einmal DNS-Record an und tragst da so ein paar Informationen ein.
Thomas: Nämlich erstmal für welchen Acme-Provider, also hier Let's Encrypt in dem Fall oder halt auch andere.
Thomas: Und dann gibst du eine sogenannte Account-URI an und die zeigt, das ist ein Unique Resource Identifier, der auf deinen Account bei Let's Encrypt zeigt.
Thomas: Ja, gute Frage, weil das ist ja, wenn du Let's Encrypt benutzt mit verschiedenen Clients an verschiedenen Systemen, dann ja, genau, du gibst die E-Mail-Adresse an, aber du teilst nicht die Secrets zwischen den verschiedenen Systemen.
Andrej: der E-Mail. Counts, ja.
Thomas: Das heißt, du hast im Grunde wahrscheinlich mehrere Accounts bei Let's Encrypt, die alle nur dieselbe E-Mail-Adresse haben.
Andrej: So habe ich das auch verstanden, okay.
Andrej: Irgendeine Nummer oder ein String oder so.
Thomas: Genau. Und hier wird aber
Thomas: dann wirklich ein konkreter Account davon
Thomas: verwendet. Der wird freigegeben. Der hat
Thomas: eine Unique ID. Das ist dann halt
Thomas: irgendwie sowas, irgendeine... Ja, genau.
Thomas: Und für den wird das freigeschaltet.
Thomas: In Kombination mit der CA, also
Thomas: quasi Let's Encrypt. Solange der
Thomas: Rekord da ist, kann dieser Account
Thomas: neue Zertifikate ausstellen.
Andrej: Ach, das ist ein Text-Record, wo
Thomas: Ja. Also sehr ähnlich zu
Andrej: einfach drinsteht, ah ja, okay.
Andrej: Wie ging denn nur die alte? Ach so,
Thomas: der alten DNS-Challenge, nur dass sie
Thomas: halt eben bei Design
Thomas: einmal ein Rekord generiert.
Thomas: Könnte man zumindest löschen. Ich weiß nicht, ob
Andrej: genau, die macht einmal ein Record und danach wird auch
Andrej: tatsächlich wieder gelöscht, soweit ich weiß.
Andrej: Das heißt,
Thomas: Die Clients das alle sauber machen, aber könntest du löschen.
Thomas: Und hier lässt du das Ding einfach drin.
Thomas: Und es gibt auch Wildcard-Support.
Thomas: Das ist auch möglich.
Thomas: Du musst natürlich deine Account-Credentials
Andrej: ich setze dieses Record einmal mit meiner
Andrej: Account-UID, wo auch immer
Andrej: ich die herbekomme und dann
Andrej: muss ich dem,
Andrej: jetzt zum Beispiel bei Traffic, dem Provider
Andrej: halt ändern auf die neue Challenge,
Andrej: weil die sind ja immer Challenge-spezifisch und es
Andrej: gibt ja immer die HTTP, einmal die DNS
Andrej: und dann, also die alte Alpen,
Andrej: heißt sie jetzt mittlerweile, ne? Und jetzt ist das
Andrej: die Persist. Und was passiert dann?
Andrej: Jetzt, anstatt dass jetzt
Andrej: jedes Mal ein neues Secret
Andrej: generiert wird in meinem DNS-Provider,
Andrej: habe ich immer das Gleiche.
Andrej: Das heißt, es ist weniger sicher, weil ich sage,
Andrej: solange das noch da ist und
Andrej: ich daher über diesen Eintrag bin,
Andrej: machen die die Erstvalidierung nicht und geben mir einfach
Andrej: neue Zertifikate für die Domains.
Andrej: Wie ist das jetzt? Jetzt gebe ich
Thomas: bei Let's Encrypt haben, die ja automatisch
Thomas: generiert werden. Also solange
Thomas: du mit deinem Let's Encrypt
Thomas: Client noch denselben Account hast
Thomas: und der DNS-Eintrag dazu
Thomas: passt, kannst du einfach ein neues Zertifikat
Thomas: ausstellen. Da muss dann nichts
Thomas: umkonfiguriert werden. Let's Encrypt muss einfach nur gucken.
Thomas: Guck mal, hier kommt der Bub. Hier kommt
Thomas: der André. Und für diese
Thomas: Domain gibt es den DNS-Record,
Thomas: der sagt, André darf. Dann okay.
Thomas: Das ist eine gute Frage.
Andrej: dem Confuge-DNS-Provider
Andrej: DNS-Challenge,
Andrej: dann gebe ich dem API-Key, das heißt,
Andrej: Brauche ich den API-Key dann nicht mehr?
Andrej: Für den, für den, ne, muss ich ja trotzdem noch machen.
Andrej: Genau, das wäre ja richtig cool.
Thomas: Glaube, das hängt dann von der,
Thomas: also das könnte von der Implementation
Thomas: abhängen. Es könnte auch sein, dass die Implementation
Thomas: dir vielleicht einfach sagt, leg bitte
Thomas: händisch diesen Eintrag an, damit du mir
Thomas: erst gar keine Credentials geben kannst.
Thomas: Ja, man muss jetzt dazu sagen,
Andrej: Ist ein bisschen unsicher.
Andrej: Ach so, okay.
Thomas: das ist noch nicht live.
Thomas: Starboard hat es implementiert, das soll noch
Thomas: dieses Quartal offiziell gelauncht werden,
Thomas: laut Let's Encrypt,
Thomas: für die Production-Umgebung.
Thomas: Das heißt, das könnte jetzt in Q2 noch kommen
Thomas: oder halt in Q3 dann, je nachdem.
Thomas: Aber sobald es da ist, kann ich mir vorstellen,
Thomas: nutzt man das tendenziell für die Use Cases,
Thomas: wo du vielleicht deinen Let's Encrypt-Clients
Thomas: erst gar keine DNS-Credentials geben möchtest.
Thomas: Naja, du kannst auch einen Expire definieren.
Andrej: Das ist ja dann schon spannend,
Andrej: weil dann hast du nicht überall API-Keys rumliegen.
Andrej: Und wenn einer dann Zugriff auf seinen Server hat,
Andrej: dann ist es natürlich auch schlecht, ne?
Andrej: Aber dann gehören dir halt immer noch die Romains vollständig.
Andrej: Und du kannst halt, ja, das ist spannend.
Andrej: Müssen wir das Artikel nochmal durchlesen.
Andrej: Habe ich schon gefunden.
Thomas: Das geht auch.
Thomas: Genau, da ist ein Artikel.
Thomas: Den können wir nachher noch in die Shownotes packen.
Thomas: Es gibt auch einen IETF-Draft dazu,
Thomas: der auch glaube ich tatsächlich wirklich
Thomas: noch im Draft-Status ist. Also wirklich
Thomas: die Frage, ob das dieses Quartal noch klappt.
Thomas: Keine Ahnung. Threat-Modell
Andrej: Weil was ich mich frage ist, was für ein, bei sowas muss man sich mal fragen, was für ein, wie heißt das, Fertmodel hast du hier?
Andrej: Wogegen schützt du dich bei, weil warum wird das entwickelt?
Andrej: Das muss ja irgendeinen Grund haben.
Andrej: Das würde mich mal interessieren.
Thomas: auf jeden Fall, wenn du dich, wenn du dich, also
Andrej: Ah ja, der Link.
Andrej: What?
Thomas: das Threat-Modell ist jetzt halt wie gesagt größer
Thomas: als bei der DNS-01-Challenge.
Thomas: Dementsprechend
Thomas: wenn du, ja wenn
Thomas: irgendjemand mal an deine DNS-Provider
Thomas: Settings rankommt und so ein Text-Record
Thomas: reinschmuggelt,
Thomas: könnte er auf Ewigkeiten, bis dieser Text-Record
Thomas: rausgelöscht wird von irgendjemandem
Thomas: mal später, könnte er neue Zertifikate
Thomas: dafür erstellen. Also wenn du, weiß ich nicht,
Thomas: einen Admin bei dir im Unternehmen hast,
Thomas: der an die DNS-Zone kommt, könnte er
Thomas: den Text-Record erstellen und dann dauerhaft
Thomas: später noch Zertifikate generieren, auch wenn
Thomas: er gar nicht mehr im Unternehmen ist. Wäre ein möglicher
Thomas: Threat-Vektor, genau.
Andrej: Okay, das muss ich mal in Ruhe durchlesen und dann verstehen.
Andrej: Müssen wir mal abwarten.
Andrej: Dann kann er aber nur Zertifikate in deinem Namen machen und nicht auf deiner Domain.
Thomas: Oder wenn halt jemand deine Let's Encrypt
Thomas: Account Credentials irgendwie
Thomas: geklaut halt, ne, vom Server.
Thomas: Ja, ja, genau, für dieselbe Domain
Andrej: Das finde ich spannend, das Thema.
Thomas: und dann muss er immer noch gucken, dass er DNS-seitig
Thomas: irgendwie was umbiegt oder so, dass das auf dem
Thomas: Man-in-the-Middle-Server landet.
Thomas: Auf jeden Fall unsicherer, aber ich glaube
Thomas: es löst für den einen oder
Thomas: anderen so ein bisschen
Thomas: die Schwierigkeit der Zertifikatsverwaltung.
Andrej: Ich habe mal die beiden Links reingehauen
Thomas: Julio.
Andrej: von Let's Encrypt, dem Blogpost,
Andrej: als auch den Draft.
Andrej: Der ist auch in dem Blogpost verlinkt.
Andrej: Könnt ihr mal bei Interesse durchlesen.
Thomas: Stimmt, ja.
Andrej: Ich finde sowas immer voll spannend.
Andrej: Vielleicht ist es auch ein Weg, von deren Seite aus
Andrej: zu weniger Traffic zu haben
Andrej: auf deren Maschinchen.
Andrej: Aber man darf ja nicht vergessen,
Andrej: da passiert ja doch schon jede Menge am Tag.
Andrej: Ich bin letztens auch wieder ins Raid-Limit
Thomas: Weißt du noch, was passiert ist?
Andrej: reingefahren, weil ich irgendwas falsch konfiguriert habe
Andrej: und leider nicht die Staging-Umgebung hatte.
Andrej: bin ich erstmal für ein paar Stunden gesperrt.
Andrej: Machst noch nichts, ne? Da wartest
Andrej: du erst mal. Na, du machst schon was.
Andrej: Du solltest die defekte Umgebung halt
Andrej: deaktivieren oder halt auch Staging umsetzen, ne?
Andrej: Weil sonst wirst du niemals wieder rauskommen,
Andrej: weil du die ganze Zeit gegen das Rate Limit läufst, ne?
Andrej: Ich glaube, ich habe einfach nur einen falschen
Thomas: Damit wir alle davon lernen können.
Thomas: Ja, klar.
Andrej: Domain-Namen genommen. Also ich habe,
Andrej: ich nutze manchmal int als
Andrej: Subdomain oder inzwischen Subdomain,
Andrej: wie das heißt in der Mitte halt. Und
Andrej: hatte ich, glaube ich, ein Typo drin oder sowas
Andrej: und dann existierte die nicht. Und dann
Andrej: hat letztendlich jemand gesagt, nö.
Andrej: Das ist jetzt, ich weiß nicht, fünf, sechs Mal versucht.
Andrej: Was soll das?
Andrej: Wissen Sie, Weight Limited.
Andrej: Ich habe extra deswegen ein Staging konfiguriert,
Thomas: Wenn du das dann so in Traffic hinterlegst
Thomas: und der halt selbst heilend
Thomas: das immer wieder versucht, was gut ist
Thomas: eigentlich.
Thomas: Ja, wenn irgendwann mal
Andrej: aber ich habe ihn nicht genutzt.
Andrej: Ich habe Copy-Paste gemacht von der Produktionsumgebung,
Andrej: das ein paar Sachen umgetüttelt.
Andrej: Und dann passiert das halt schnell, ne?
Andrej: Man braucht auch nicht mehr als vier Kilobyte RAM.
Thomas: Zertifikate nur noch 60 Minuten lang
Thomas: gültig sind, wird es schwierig mit den
Thomas: Rate-Limits, aber das wird ja nicht passieren.
Thomas: Das war ja nur ein Späßchen.
Thomas: Ja, ja. DNS durch.
Andrej: Solche Aussagen sind immer sehr schwierig in ein paar Jahren zu halten, ne?
Andrej: Ja, cool.
Andrej: Das lese ich später mal.
Andrej: Weißt du was?
Andrej: Der letzte Crypt-Block kommt jetzt in meinen RSS-Reader.
Andrej: Das ist doch auch spannend.
Andrej: Okay, DNS durch.
Andrej: Ach schade, ich habe noch ein Linux-Thema vergessen.
Thomas: Mach mal.
Andrej: Okay, das kriege ich aber nicht mehr ganz auf den Kopf, aus dem Kopf hin.
Thomas: Meistens ist es ja nicht die Encryption selber oder so,
Andrej: Moment mal, ich muss mal kurz scrollen.
Andrej: Ich hatte nämlich im Zuge der KDE-Umstellung, ich weiß gar nicht, wie ich darauf gekommen bin,
Andrej: aber dann habe ich was gelesen von wegen Lux.
Andrej: Ich nutze ja immer Lux als Verschlüsselung für meine Festplatte.
Andrej: Und dann ist mir aufgefallen, hey, da gibt es ja so mehrere Artikel zu dem Thema.
Andrej: Ich habe Gemini gefragt, genau, wie kann ich die Performance ein bisschen verbessern?
Andrej: weil ich hatte das Gefühl, dass das, da geht noch mehr
Andrej: von meinem System generell.
Andrej: Dann habe ich mal so ein, gibt ja dieses System
Andrej: Deanalyze, wie schnell der Start ist
Andrej: und so weiter und dann hing der relativ lange an
Andrej: bestimmten Dingen und das war halt von
Andrej: meinem Storage. Und dann hatte ich mir einen Artikel,
Andrej: ja genau, und dann habe ich
Thomas: sondern es ist dieses ganze Tooling drumherum.
Thomas: Mhm, mhm.
Andrej: mir einen ganz interessanten Artikel verlinkt,
Andrej: wo ich auch die Details vergessen habe, weil das
Andrej: wirklich komplex ist, das ist halt keine Kram.
Andrej: Und der Artikel
Andrej: ist von Cloudflare von
Andrej: 2020, also auch schon ein paar Jahre alt
Andrej: und dort geht es dann um Speeding up Linux
Andrej: Disk-Encryption. Die hatten das Problem,
Andrej: dass es irgendwie signifikant
Andrej: langsamer war. Also klar,
Andrej: Encryption kostet immer ein bisschen Performance,
Andrej: sagt man ja, so ist ja dieser Spruch.
Andrej: Und dann haben die
Andrej: wirklich tief runter, sind die in den Körner reingeguckt,
Andrej: in die Device-Mappers, in DM-Crypt
Andrej: und so weiter. Die ganzen Sys-Calls,
Andrej: die tatsächlich passieren, was passiert, wenn du halt
Andrej: dein Storage encryptest.
Andrej: Und es ist wohl so, dass
Andrej: genau das ist. Früher bei
Andrej: HDDs hast du so eine Art Buffer
Andrej: gehabt, fürs Schreiben als auch
Andrej: fürs Lesen und das wurde
Andrej: jede Aktion wurde im Endeffekt
Andrej: dort reingepackt und dann wurde Encrypted, Decrypted
Andrej: je nachdem welche Queue du bist und dann hat
Andrej: auf Platte persistiert und
Andrej: das haben die getestet und mal
Andrej: so ein Patch geschrieben,
Andrej: der diese Queue wegnimmt, weil
Andrej: auf SSDs, weil sie NVMe
Andrej: ist, diese Queue gar nicht notwendig ist.
Andrej: Diese Queue war eher dafür da, bei
Andrej: HDDs zu sein, weil die
Andrej: langsamer sind, I.O.
Andrej: und stellt sich raus,
Thomas: Wow, krass.
Andrej: Es ist signifikant schneller,
Andrej: keinen Buffer zu haben bei NVMEs.
Andrej: Also wirklich viel.
Andrej: Die Tests sind richtig spannend,
Andrej: die FIO-Tests, die die gemacht haben.
Andrej: Und dieser Fix gibt es ja auch schon länger jetzt im Kernel.
Andrej: Und ich glaube,
Andrej: die haben auch ein kleines Update ganz unterm Artikel gehabt.
Andrej: Ja, Oktober 2020.
Andrej: Okay, das heißt,
Andrej: das ist im Kernel 5.9 gemerged worden.
Andrej: Aber es ist nicht Default.
Andrej: Das heißt, du musst das an deinem Device,
Andrej: musst du diese Parameter ransetzen.
Andrej: Dann wird diese Queue geskippt.
Andrej: Und was muss man sagen?
Andrej: Das System fühlt sich viel fluppiger an seitdem.
Andrej: Hätte ich nicht erwartet.
Andrej: Also war schon spannend.
Andrej: Die haben dann auch so Graphen gemacht,
Andrej: wo die dann von 150 MB in Rights
Andrej: Throughput auf 300 kommen.
Andrej: Also eine Verdopplung.
Andrej: Also der Artikel ist in meinen Augen lesenswert.
Andrej: Und es ist auch zu empfehlen,
Andrej: diejenigen, die Lux benutzen für Encryption,
Andrej: das mal als Fleck reinzuschmeißen.
Andrej: Und das ist alt.
Thomas: Doppelte Bandbreite und auch, da
Thomas: steht auch, ne, Latenz
Thomas: halbiert. Wahnsinn.
Andrej: Ja, Latenz ist das Thema, was halt die Schwubzidität macht.
Thomas: Ja und, krass,
Andrej: Ich glaube, wir müssen mal den Duden anrufen und sagen,
Andrej: das ist unser, wir haben den Begriff gecoint hier, Schwubzidität.
Andrej: Ja, in meinem Server habe ich es noch gar nicht aktiviert,
Thomas: ne, also wenn du das jetzt immer noch hast,
Thomas: auf deinem Server mit, achso,
Andrej: fällt mir gerade ein.
Andrej: Ich habe es nur auf meinem Laptop.
Thomas: Das heißt, das ist auf deinem Arch.
Andrej: Nein, ja, ich glaube, es ist auch schwierig, das zu machen,
Thomas: Das heißt, es ist immer noch,
Thomas: selbst auf der Bleeding Edge, nicht Default.
Thomas: Interessant.
Thomas: Ja, es gibt jetzt zumindest schon ein Flag am Device,
Andrej: weil was passiert, wenn du das als Default setzt?
Andrej: Dann sind alle Systeme, die von dieser Queue tatsächlich profitieren,
Andrej: HDDs, auf einmal geupdatet und haben nicht diese Queue,
Andrej: die eventuell dort tatsächlich für Performance
Andrej: oder die Performance-Probleme
Andrej: löst. Es ist halt ein ganz
Andrej: anderes Stück Hardware. Eventuell hätte
Andrej: man das vielleicht so machen können, dass man das erkennt
Andrej: und dann das automatisch dransetzt.
Andrej: Aber das ist halt auch, das hast du
Thomas: ob das drehendes Metall ist oder...
Andrej: bei BTFS, bei
Andrej: Filesystem, wenn du ein BTFS
Andrej: auf einer SSD generierst, dann erkennst du das
Andrej: natürlich auch mittlerweile. Das heißt, diese
Andrej: Defaults sind mittlerweile da, du musst nicht mehr
Andrej: dran schreiben SSD. Aber ich glaube, das dauert
Thomas: Mhm, Brand.
Andrej: einfach, bis diese Defaults dann tatsächlich
Andrej: drin sind. Und ich muss mal gerade gucken.
Thomas: So gut aus der Artikel.
Andrej: Ja, das ist richtig cool. Also kann ich es dir
Thomas: In dem Zusammenhang.
Andrej: empfehlen. Muss mal gucken, wo ich das drangemacht
Andrej: habe. Ich glaube, das kommt an die CryptTab.
Andrej: Also gar nicht an die FSTab.
Andrej: Ja, genau. NoReadWorkView,
Thomas: Auch wenn das ein...
Andrej: NoWriteWorkView kommt an die CryptTab.
Andrej: Die CryptTab ist wie die FSTab, nur halt
Andrej: fürs Verschlüsseln und Entschlüsseln, also
Andrej: fürs Entschlüsseln der Festplatte verantworte ich
Andrej: und dort muss das reinhauen. Das hat
Thomas: Dann mal eine andere Frage.
Andrej: nichts mit dem Dateisystem per se zu tun. Das ist halt eine
Andrej: Lux-Sache vom DeviceMapper, nehme ich mal an,
Andrej: dass da irgendwas passiert. Und 50%
Andrej: nehme ich mal mit und ich dachte,
Andrej: das könnte vielleicht auch so ein Ding sein, weil ich auch
Andrej: total überrascht war, dass
Andrej: es das gibt.
Andrej: Vielleicht kennt das der eine oder andere nicht, nutzt
Andrej: Lux und freut sich dann darüber.
Andrej: Ich habe jetzt keine Fio-Tests gemacht, hatte ich jetzt keinen Bock
Andrej: drauf. Ich habe es einfach übernommen und
Andrej: fühlt sich gut an. Darum geht es mir.
Andrej: Und bei Last-Tests ist es ja immer so,
Andrej: machst du es selber.
Andrej: Dein System ist so individuell,
Andrej: bringt also gar nichts, wenn du es nicht selber machst.
Andrej: Die haben es gekauft und
Thomas: Diese...
Thomas: Hast du für dich eine Lösung,
Thomas: wenn du jetzt sowas hast wie diesen Blogpost,
Thomas: der ja sehr spannend ist und den du irgendwann mal lesen möchtest.
Thomas: Wo du denn dieses ganze, das möchte ich mal lesen, verwaltest.
Thomas: Da gab es ja diverse Browser-Extensions in der Vergangenheit zu.
Thomas: Ich glaube, Firefox hat sogar irgendwann mal eins, Pocket oder so, direkt integriert.
Thomas: Hast du irgendwas für dich?
Andrej: dann tot gemacht.
Andrej: Ich habe eine Zeit lang Pocket benutzt,
Thomas: Das habe ich mal gehört, ja.
Andrej: aber anders. Ich habe eine Zeit lang Pocket
Andrej: gehabt, ohne Ende Artikel reingeschmissen
Andrej: und nie gelesen.
Andrej: Ich weiß es nicht. Für mich
Andrej: funktioniert das nicht. Ich weiß nicht, warum.
Andrej: Also ich bin auch mal durchgegangen.
Andrej: Ich habe da teilweise Artikel von 2011
Andrej: drin gehabt. Das habe ich nie gelesen.
Andrej: Es gibt ein paar Tools, die ich mir
Andrej: jetzt auch schon überlegt habe, mir vielleicht mal
Andrej: anzugucken, weil aktuell ist es so,
Andrej: ich habe ja
Andrej: jetzt einen kleinen Newsletter angefangen für
Andrej: Self-Hosting-Bereich im deutschsprachigen
Andrej: und dort nutze ich dann halt meinen RSS-Reader, um die
Andrej: ganzen Infos zu bekommen. Und ich brauche aber
Andrej: irgendwie so ein, genau wie du sagst,
Andrej: manchmal brauche ich so einen Artikel, der hat
Andrej: dann kein RSS oder finde ich einfach spannend.
Andrej: Wo queue ich den hin? Ich habe noch
Andrej: keine Lösung dafür. Es gibt wohl
Andrej: Linkwarden, ist wohl ein ganz tolles Tool, was
Andrej: viele Leute drauf schwören. LinkedIn gibt es auch
Andrej: und es gibt so ein paar andere noch.
Andrej: Wallabag ist so ein Klassiker.
Andrej: Ist schon richtig alt. Hatte ich auch mal eine Zeit,
Thomas: Eigentlich müsste es in denselben Funnel laufen wie die ganzen RSS-Feeds oder so.
Andrej: aber es war wie mit Pocket. Ich habe sie nie
Andrej: benutzt. Ich habe die nur
Andrej: vollgemüllt und nie gelesen.
Andrej: Da habe ich eine
Andrej: Lösung für mich. Also, wie ich das
Andrej: mache bei dem Newsletter ist, ich lese ja super viele
Andrej: Feeds und dann favorisiere ich mir
Andrej: die einfach, also ein Sternchen dran. Ob ich sie
Andrej: gelesen habe oder nicht, sei mal dahingestellt.
Andrej: Der Feed ist dann aber abgehakt.
Andrej: Was ich dann mache, ist, ich gehe nur die Sternchen durch,
Andrej: die für mich potenziell interessanten Feeds.
Andrej: So mache ich das einfach. Ja, das geht
Thomas: Und das wäre halt super, wenn man da
Thomas: einzelne Sachen auch reinhämmern könnte, wie jetzt
Thomas: so ein Artikel. Ja, schwierig.
Andrej: dann, es gibt halt auch so Tools,
Andrej: die, ich glaube, RSS Bridges 1,
Andrej: die machen aus Webseiten RSS
Andrej: Feed, obwohl die kein RSS Feed haben.
Andrej: Wie sinnvoll das ist, sei mal dahingestellt, weil
Andrej: manchmal willst du auch nur einen Artikel und nicht
Andrej: den ganzen Feed haben von der Webseite.
Thomas: Weil ich werde jetzt diesen Tab auferlassen
Thomas: und entweder reizt
Thomas: er mich, genau, entweder
Andrej: Ja, also ich glaube,
Thomas: reizt er mich innerhalb von zwei Jahren, dass ich
Thomas: ihn komplett durchlese, was jetzt
Thomas: relativ wahrscheinlich ist, weil, ja, interessantes
Thomas: Thema. Aber manchmal
Thomas: nerven mich dann die offenen Tabs so sehr, dass
Thomas: ich sie dann anfange zu gruppieren und dann hast
Thomas: du dann irgendwie so eine Group für alles,
Thomas: was man lesen möchte. Und die Group ist genauso
Thomas: unauffällig wie Pocket. Und genau
Thomas: dann, wenn ich dann dran denke,
Thomas: jetzt könnte ich was Interessantes lesen,
Thomas: weil ich zum Beispiel irgendwo sitze und warte
Thomas: und keinen Mobilfunk habe.
Thomas: Genau dann habe ich die Group natürlich nicht
Thomas: vorgeladen. Also dann sind die Daten nicht da,
Thomas: die sind nicht schon runtergeladen auf meinem Gerät.
Thomas: Das wäre halt mit Pocket gut oder so, ne?
Thomas: Ja.
Andrej: das ist gar keine Software-Problematik,
Andrej: sondern einfach eine,
Thomas: Achso, okay.
Andrej: dass man kein Ritual hat,
Andrej: dass man diese Queue jetzt einfach mal abarbeitet.
Andrej: Also schreibt uns mal,
Andrej: falls ihr da eine coole Idee,
Andrej: einen Ansatz habt,
Andrej: auch eine Gewohnheit in meinen Augen.
Andrej: Ich meine,
Andrej: vielleicht habt ihr da eine coole Lösung
Andrej: und ich würde es auch gerne adaptieren, weil ich denke
Andrej: da immer drüber nach. Ich habe diese Systeme schon so häufig
Andrej: aufgesetzt und gerade Miniflux ist
Andrej: total toll. Du kannst Miniflux
Andrej: mit diesen
Andrej: Tools, Link, Speicher, Bookmark,
Andrej: wie auch immer Tools konfigurieren und dann kannst du
Andrej: die Artikel da rein speichern. Einfach mit
Andrej: einmal S drücken und dann sind die da drin.
Andrej: Miniflux hat super viele
Andrej: Integrationen, das Webinterface dafür.
Andrej: Dieser Save-Button, das Tastenkürzel
Andrej: S existiert aber nur, wenn du die Integration
Andrej: halt eingerichtet hast.
Andrej: Ja, aber wie gesagt, also bei mir
Thomas: Das klingt ja interessant.
Thomas: Ja, ich habe
Andrej: ich habe diese Tools schon so oft gehabt
Andrej: und die gibt es auch. Und was ich halt
Andrej: auch spannend fand früher, als ich noch ein Kindle hatte,
Andrej: die hatten ja auch diese Pocket-Integration.
Andrej: Das heißt, theoretisch konnte das, oder war das
Andrej: der Kobo? Ich weiß nicht mehr. Irgend so ein E-Book-Reader hat
Andrej: auf jeden Fall auch eine Pocket-Integration. Wie cool ist das denn?
Andrej: Du hast die ganzen Artikel einfach
Andrej: vorgeladen, offline in einem E-Book-Reader-Format,
Andrej: wo du nicht abgelenkt bist
Andrej: von, oh, hier noch ein YouTube-Video.
Andrej: Oh, hier habe ich ja noch eine Benachrichtigung. Hier kommt ja noch
Andrej: ein Paket. Oh, ne?
Andrej: Nie benutzt. Ja.
Andrej: Ja, ist ein Link.
Thomas: gerade mal versucht, was passiert, wenn ich
Thomas: so einen Artikel share und dann in
Thomas: Apple Notes oder so, weil dann hätte ich den Vorteil,
Thomas: das wird synchronisiert, das wäre dann immer verfügbar
Thomas: inhaltlich, aber nein, es wird halt einfach
Thomas: nur der Link wirklich dann da reingepackt mit
Thomas: einem Thumbnail und das bringt mir nur noch gar nichts.
Thomas: Ich brauche halt schon inhaltlich
Andrej: Ja, viele von denen, die ich jetzt genannt habe, haben glaube ich auch Apps. Das heißt, die synchronisieren dann auch und haben das dann auch lokal vorhanden. Ich habe das eine Zeit lang benutzt und zwar, als ich noch mit der U-Bahn unterwegs war in Köln. Und wer U-Bahn fährt in Köln, weiß ganz genau, in bestimmten Stellen, gerade wenn es Untergrund ist, hast du einfach gar keinen Empfang. Und dann kannst du es perfekt lesen, sowas, was offline ist. Aber das hat sich mittlerweile auch geändert, das ist auch schon zehn Jahre her oder so.
Thomas: das Ganze, den Artikel und auch in sauber
Thomas: lesbarem Format, weil es ist ja oftmals
Thomas: Bilder sind integriert mit Text,
Thomas: das willst du halt nachher auch gut lesen können, also
Thomas: das soll bitte halbwegs so bleiben, wie so
Thomas: weiß ich nicht, ein besserer PDF-Export oder so
Thomas: nicht, ja.
Thomas: Na gut, schön. Meldet
Andrej: Da war das für mich noch ein Thema, dieser Offline-Support, weil ich war leider auch häufig offline oder in der Bahn auch generell. Ja, Wallaback habe ich eine Zeit lang genutzt oder versucht. Geil, ich habe immer noch den DNS-Eintrag, aber schon seit Jahren nicht mehr.
Andrej: Ja, vielleicht installiere ich mir mal wieder
Andrej: so ein Wallaback. Aber ich glaube, die App fand ich nicht sexy.
Andrej: Bin mir noch nicht sicher.
Andrej: Was willst du denn? Also, du willst das unbedingt haben
Thomas: euch, wenn ihr was habt. Richtig.
Andrej: für so Artikel, die du in die Video...
Andrej: Also, du willst das jetzt... Die Artikel, die du im Browser nicht liest,
Andrej: möchtest du jetzt in einem anderen System haben, die du nicht liest.
Andrej: Ja, ich habe jetzt...
Thomas: Ich leide auch momentan jetzt schon unter, also
Thomas: mein RSS-Feed ist momentan nicht sonderlich
Thomas: liebevoll gepflegt
Thomas: und gelesen. Vielleicht müsste ich
Thomas: da mal wieder...
Thomas: Also es ist besser, als die
Thomas: puren News-Seiten zu durchforsten.
Thomas: Das mache ich noch weniger sozusagen.
Thomas: Funktioniert dahingehend schon, aber
Thomas: also meine...
Thomas: Wie heißt das Ding? Notification-Bubble oder
Thomas: sowas? Die zeigt mir halt regelmäßig
Thomas: irgendwas mit im Tausender-Bereich
Thomas: an. Da gehst du von. Ja.
Andrej: Ich habe meinen Miniflux
Andrej: ganz umgestaltet, weil ich ja den Newsletter mache.
Andrej: selfhosters.de
Andrej: Kommt auch in die Show Notes.
Andrej: Und ich habe das jetzt... Ich hatte früher immer so Blog,
Andrej: Techniktypen,
Andrej: DevOps und dann so thematisch sortiert.
Andrej: Aber das hilft mir jetzt gerade nicht.
Andrej: Jetzt habe ich einen, den nenne ich Privat.
Andrej: Dort habe ich nur die Leute drin,
Andrej: bekannte Freunde, die auch Blogs haben,
Andrej: aber die nicht News-relevant sind.
Andrej: Und dann habe ich jetzt einen Ordner oder eine Kategorie,
Andrej: die heißt High-Volume-News.
Andrej: Da ist sowas drin wie Heise, Hacker-News.
Andrej: Hacker-News ist ja völlig bekloppt.
Andrej: Ja, das kannst du vergessen.
Thomas: Du scrollst durch, du öffnest einen
Andrej: Oder auch so Kashi's Blog, das lese ich ja.
Andrej: Das ist ja das älteste Blog, was ich,
Andrej: ich lese das jetzt nicht mehr so,
Andrej: aber ich scrolle mal durch.
Andrej: Ich komme mal gleich dazu.
Andrej: Dann habe ich noch Newsletter, eine Kategorie, da sind 85 Feed-Actuals drin, wo ich durchforste.
Andrej: Und dann habe ich noch Reddit für meine privaten Reddit-Sachen, um zu gucken, was ich geliked habe und so.
Andrej: Und einmal Software-Updates, da habe ich 41 Feed gerade drin, da müssen noch mehr rein.
Andrej: Das sind nur so GitHub-Releases und solche Sachen.
Andrej: Und aktuell ist es so, dass ich, ich bin ein großer Fan von Miniflux, von den Tastaturkürzeln.
Andrej: JK gehen halt für hoch und runter, super gut.
Andrej: Das geht ganz gut, dann kannst du Enter drücken, dann kommst du in den Lesemodus
Andrej: und kannst F für Favorite, also
Andrej: Star, S kannst du drücken für
Andrej: wenn du es in eine von diesen Apps installieren
Andrej: äh installieren, gerade überschieben
Andrej: möchtest den Content. Also es ist ganz cool.
Andrej: Ich habe auch gerade einen Fork aufgemacht von Miniflux
Andrej: um ein paar mehr Shortcuts reinzumachen,
Andrej: weil ein paar fehlten mir.
Andrej: Genau und das geht recht gut,
Andrej: aber was ich noch viel besser finde ist tatsächlich
Andrej: meine RSS Reader App
Andrej: auf dem Handy als auch Tablet. Da
Andrej: scrolle ich einfach durch und
Andrej: im Vorbeiscrollen werden die
Andrej: als gelesen markiert, wenn
Andrej: Und wenn ich draufklicke halt auch, wenn ich es wirklich lese und so kann man das relativ entspannt abarbeiten. Dann klickst du nur die an. Nein, ich habe die Überschriften als Liste, zum Beispiel jetzt Heise oder eine Kategorie geht ja bei, du kannst ja entweder in eine Kategorie reingehen, dann siehst du alle Artikel einer Kategorie oder du kannst in einen Feed reingehen von Heise, von Kashi, von was auch immer und siehst nur die Artikel dieses Feeds, geht beides.
Thomas: Post oder einen Artikel und
Thomas: machst dann durch Swipe, gehst du zum nächsten, oder wie?
Thomas: Ja. Das ist gut.
Andrej: Und meine CapiReader-App, da kann ich einfach scrollen, scrollen, scrollen und alles, was über dem Bildschirmrand geht, ist automatisch read, weil es nicht so interessant ist. Und wenn ich mir was für später merken möchte, markiere ich das einfach. Das geht bei mir, ich kann es konfigurieren mit einem Swipe nach links oder nach rechts, habe ich jetzt vergessen. Und dann gehe ich halt nur die gestehenden Artikel durch.
Thomas: Eine gute Option, ich hoffe.
Andrej: Wahrscheinlich wird es, ich hoffe, dass es auch
Thomas: Ja, das mit dem
Andrej: so eine ähnliche App gibt für iOS, weil
Andrej: bei Miniflux kannst du mit J
Andrej: durchgehen, nee, warte mal, genau, du kannst J
Andrej: und K, also Vim-Motions,
Andrej: kannst du gehen, um hoch und runter zu gehen,
Andrej: aber was viel besser ist, ist M drücken,
Andrej: durch M markierst du den als gelesen,
Andrej: also du liest den nicht, aber
Andrej: markierst den als gelesen und gehst direkt automatisch runter,
Andrej: eine Überschrift, äh, ein Artikel.
Andrej: Und so kannst du, hast du das gleiche Verhalten
Andrej: im Browser wie
Andrej: auf der App, die ich nutze.
Andrej: Weil du kriegst, man kriegt halt immer so ein FOMO,
Thomas: als gelesen markieren ist wirklich
Thomas: spannend. Das ist mein Problem.
Andrej: man möchte es lesen,
Andrej: man geht da durch, aber die werden,
Andrej: man liest sie ja, also ich,
Andrej: man liest sie ja nicht, wenn man drüber scrollt
Andrej: und da nichts catcht, ne,
Andrej: nach dem Motto, ah, das interessiert mich dann doch nicht.
Andrej: Und dann werden die, wenn die dann nicht automatisch als
Andrej: ungelesen, nee, wenn die dann nicht automatisch
Andrej: gelesen markiert werden, dann hast du halt
Andrej: so einen vollen Reader. Das geht nicht,
Thomas: Und dann musst du entweder hingehen und musst
Thomas: irgendwie swipen pro Artikel, was natürlich Wahnsinn
Thomas: ist, weil Hacker-News und so,
Andrej: nee, nee. Ja, dafür gibt es ja bei Miniflux auch
Thomas: das kannst du nicht machen. Ja, das gibt's
Andrej: Mark-Alles-Read und solche Sachen, ja.
Thomas: auch bei NetNewsWire. Das ist okay.
Thomas: Aber das mit dem
Andrej: Und was ich mittlerweile mache, ist, ich mache
Thomas: Scrollen...
Andrej: dienstags kommt der Newsletter raus,
Andrej: Das heißt, was ich mache ist, ich schreibe den dann wahrscheinlich am Montag meistens
Andrej: und am Montag mache ich dann Clean Card, alles gelesen.
Andrej: Ich glaube, das Thema ist eher so eine Habit, was heißt das, Gewohnheit,
Andrej: dass du das dann halt einfach dann Clean Card machst, weil ich werde niemals,
Thomas: Mhm. So.
Andrej: was habe ich jetzt hier, in den High-Volume-News-Ordner habe ich 1180 Artikel,
Andrej: im privaten 750, im Newsletter 205, bei Reddit 5, na gut, Reddit ist nicht wichtig
Andrej: und bei Software-Updates 39.
Andrej: Werde ich nicht lesen, das sind über 2000 Artikel.
Andrej: Das muss man sich ja auch mal
Andrej: klar machen.
Andrej: Dann sind wir doch reingegangen.
Andrej: Spannend. Es gab ja mal Read It Later,
Thomas: Ja, das habe ich auch früher mal benutzt. Das weiß ich
Andrej: das ist auch so ein Riesending gewesen.
Andrej: Gibt es das noch? Ich weiß es ehrlich gesagt nicht.
Thomas: noch. Gute Frage. Ich glaube, das war sogar vor Pocket,
Andrej: Oh, weiß nicht. Ja, es gibt noch
Thomas: oder? Ja, für mich wäre auf jeden Fall wirklich gut,
Andrej: ein Kara Keep, gibt es auch noch.
Andrej: Das habe ich mal installiert. Läuft auch noch, aber
Andrej: ich nutze es nicht. Ja, da gibt es noch
Thomas: wenn das alles irgendwo zusammenläuft, auch
Thomas: mit den Dingen, die ich im RSS-Reader
Thomas: markiere. So als eine zentrale
Thomas: Anlaufstelle mit, das sind Dinge, die
Thomas: ich noch lesen will. Du hast aber gerade was gesagt,
Andrej: unterschiedliche Tools, die so einen kleinen Fokus bieten
Andrej: mit OCR und AI Summaries,
Andrej: wo du die entweder mit Ulama oder mit ChatGPT noch dir reindrücken kannst.
Andrej: Bei Karakeep kannst du zum Beispiel auch RSS-Feeds per se abonnieren.
Andrej: Aber ich finde das Interface nicht gut für Feeds schnell durchgehen.
Andrej: Mir reicht eine Überschrift meistens, um zu gucken, ob ich das lesen möchte
Andrej: und nicht so ein fancy, wie heißt das, diese Bubble Cards.
Andrej: Da hast du das Thumbnail, dann hast du die Überschrift,
Andrej: dann hast du die ersten zwei Zeilen.
Andrej: Das ist too much.
Andrej: Wenn ich skimmen möchte, will ich halt schnell scrollen
Andrej: und wirklich nur die Überschriften.
Andrej: Bildchen darf vielleicht noch klein daneben sein,
Andrej: muss aber auch gar nicht.
Andrej: Ach so, so rum.
Thomas: was total, worüber ich noch nicht nachgedacht
Thomas: habe. Das könnte doch gut funktionieren.
Thomas: Und weißt du auch immer, du für ein System benutzt,
Thomas: Pocket, Karakeep oder was auch immer.
Thomas: Wenn das ein RSS-Feed selber
Thomas: bereitstellt, kann es ja tatsächlich im RSS
Thomas: Reader landen. Mhm. Dann landet
Andrej: Das heißt, du speicherst dir deine Artikel
Andrej: in einem Tool, was selbst ein RSS-Feed bereitstellt.
Andrej: Von der Kuh am Schwanz am Schal am Raus am Ziehen, oder?
Thomas: es in deinem Miniflux. So,
Andrej: Ja, vielleicht.
Thomas: in etwa. Ja, ist natürlich
Thomas: dann die Frage, ob das Leseverhalten, was
Andrej: Ja gut, dann machst du das für die Kategorie halt separat.
Thomas: du bei den anderen Feeds da wiederum noch angebracht
Thomas: ist, ne, als gelesen markieren und weg damit,
Thomas: ist natürlich da beim Durchscrollen nicht mehr
Thomas: so gut. Ja, das müsste gehen.
Andrej: Dann machst du ein, ja, okay.
Thomas: To do.
Andrej: Ja, sag mal Bescheid, würde mich auch interessieren.
Thomas: Newsreader. Cloudflare?
Andrej: Weil aktuell habe ich nur Feeds da für eine Lösung.
Andrej: Das funktioniert auch okay.
Andrej: aber für so generelle Artikel
Andrej: nicht. Ich weiß jetzt auch nicht, wie smart ist
Andrej: das ganze Cloudflare-Blog, weil es ist ein gutes
Andrej: Blog, keine Frage. Aber wenn
Andrej: das halt wahnsinnig viel Content
Andrej: immer ist, dann liest man das dann halt auch.
Andrej: Das ist die Frage. Ja, die haben ganz schön
Andrej: viele Artikel. Mein Gott, zwei pro Tag
Andrej: oder was? Was ist das für eine Schlagzahl?
Andrej: Ja, gut laufen. Da arbeiten auch
Thomas: Yep. Was Backblaze? Yep.
Andrej: viele Leute. Diese Tech-Blogs
Andrej: sind echt gut. Es gibt ja auch so eine
Andrej: Awesome-List über gute Tech-Blogs von
Andrej: Companies. Früher war es ja DigitalOcean,
Andrej: Cloudflare,
Andrej: HashiCorp hatte auch mal eins, glaube ich.
Andrej: Google und andere, ne?
Andrej: Gibt ganz, ganz viele echt spannende Dinger drin.
Andrej: Oder wer macht diesen HDD-Report nochmal?
Andrej: Weißt du das?
Andrej: Backblaze, ja, ist recht.
Andrej: Die haben, glaube ich, auch ein gutes Blog.
Andrej: Komm, da kommt halt jetzt mal wieder ein Feed wieder rein.
Andrej: Die machen ja mal diese Artikel für, ja genau,
Andrej: Backblaze Drive Stats for 2025.
Andrej: Manche Feeds sind ja auch geil, ne?
Thomas: Wusste nicht, dass es das überhaupt so lange gibt.
Andrej: Du fügst den hinzu zu Miniflux.
Andrej: Einige sagen so, die letzten 10 Artikel, ne?
Andrej: Letztens irgendein Feed hinzu.
Andrej: Ich glaube, es war das Nix-Blog, also von NixOS.
Andrej: Die letzten 20 Jahre waren da drin.
Andrej: Boom, ein ganzes Feed.
Andrej: Ich scrolle so runter.
Andrej: Von 2001?
Andrej: Nee, das brauche ich nicht mehr lesen.
Andrej: Das ist wirklich nicht mehr in den Sinn.
Andrej: Nix ist über 20 Jahre alt.
Thomas: Verrückt. Ich glaube, das erste Mal, dass ich
Andrej: Das ist eine sehr alte Distribution.
Andrej: Von mir, ne?
Thomas: davon gehört habe, ist nicht länger als
Andrej: Okay, dann doch nicht von mir.
Thomas: fünf Jahre her. Ne, ne, es war vorher
Andrej: Ja, ich glaube, es ist aus einer Doktorarbeit oder sowas entstanden.
Thomas: schon irgendwo auf dem Radar. Aber
Thomas: ich dachte, das wäre so eine neue
Thomas: modische Erscheinung.
Thomas: Oh, hier steht, Erstveröffentlichung 2013.
Thomas: Nix US.
Thomas: Oh, aber auch nicht schlecht. Da musst du auch
Andrej: Und über Reproducible Builds und solche Sachen.
Andrej: Ja.
Thomas: aufpassen, ne? Wikipedia Deutsch
Thomas: sagt Erstveröffentlichung 2013.
Thomas: Oder ist das der Stand?
Andrej: Wo ist denn hier der Pause-Button?
Thomas: Genau. Ne, steht aber da.
Thomas: In der Geschichte steht was von
Thomas: 2003 als Forschungsprojekt, okay.
Thomas: Auf der US, also auf der englischen
Thomas: Wikipedia-Seite steht Initial Release 2006.
Thomas: Das passt dann zu den 20 Jahren.
Thomas: Okay, whatever.
Thomas: Du drückst die 3.
Andrej: Ich muss noch kurz meinen Tisch wischen.
Thomas: Noch ein ganz anderes Thema mitgebracht.
Andrej: Tee verkippt.
Andrej: Kann auch drinbleiben.
Andrej: Hau rein.
Thomas: Alles klar.
Andrej: Wie geht's denn beruflich?
Thomas: Ja, bei einem aktuellen Projekt
Thomas: achte ich ziemlich genau auf Speicherverbrauch gerade.
Thomas: Weil, quasi, ja.
Andrej: Das ist crazy, ne?
Thomas: Weil mit, ich bin ja alter Python-Entwickler,
Thomas: also das habe ich eine lange, lange Zeit lang genutzt.
Thomas: Und man Python, also so sehr ich die Entwicklung in Python auch mag,
Thomas: Ich mag die Sprache einfach sehr gerne.
Thomas: Es ist
Thomas: natürlich, es ist ein Interpreter
Thomas: und Speicherverbrauch
Thomas: ist bei Interpreter sowieso ja erstmal
Thomas: oder allen Sprachen, die irgendwie mit
Thomas: Garbage-Kollektoren arbeiten, sowieso
Thomas: erstmal so, ja, schon mal gerne
Thomas: was höher und auch nicht immer
Thomas: ganz so deterministisch.
Thomas: Und ich war echt überrascht, wenn du
Thomas: irgendwas mit Rust schreibst,
Thomas: zum Beispiel, wie viel du
Thomas: mit 10 MB RAM erreichen kannst.
Thomas: Das ist mindblowing.
Andrej: Was die Leute aktuell erst umschreiben
Andrej: und wie krass performant das manchmal wird.
Andrej: Mach.
Thomas: Es ist aber auch eben krass zu verstehen, welchen Impact was genau hat, also wie du Speicher allokierst, weil in der Interpretersprache sagst du halt einfach hier Variable, String und einfach immer wieder was reinballern oder also entweder machst du irgendwie einen Buffer oder sowas oder du konkatenierst Strings oder sonst was, also du machst dir einfach keine Gedanken darüber, ob das nachher, sagen wir mal, absehbar weniger als ein Megabyte ist oder 25 Megabyte.
Andrej: Ja, das Problem ist halt die Initialisierung, ne?
Thomas: Also ob du eine Grenze kennst, du packst das einfach rein.
Thomas: Den Rest macht dann der Interpreter.
Thomas: Ich glaube, es gibt den Overhead, genau.
Andrej: Du eine Variable holst, das ist ein String,
Andrej: dann hauen die da erstmal, weiß nicht,
Andrej: 256 Bytes da rein oder sowas, ne?
Andrej: Oder wie lange du die auch per Default hast.
Andrej: Ja.
Thomas: Und was man halt auch noch berücksichtigen muss, ist, wie funktioniert überhaupt Speicher?
Andrej: Bisschen über 80, ne?
Thomas: Ich hatte einen Aufhänger, weshalb ich das ganze Thema reingemacht habe.
Thomas: Weil durch dieses Achten auf Speicherverbrauch ist mir nämlich eine Sache aufgefallen.
Thomas: Ich hatte einen steten Anstieg im Speicherverbrauch,
Thomas: der mich sehr an sowas wie Memory-Leaks erinnert hat.
Thomas: Und wir reden hier von, was war das, pro Stunde ein halbes Megabyte oder sowas, aber es ist ja dann auch irgendwie so zwölf Megabyte am Tag und wenn das eine Woche läuft, da sind wir dann schon bei, keine Ahnung, ein bisschen über 80, genau, und war dann eben am Schauen, woran liegt denn das, ist da irgendwo ein Memory-Leak im eigenen Code, ist da ein Memory-Leak in der Bibliothek,
Andrej: Die können viel.
Thomas: Das ist auch mit KI gechallenged, um zu gucken, was da wahrscheinliche Ursachen sind, weil ich musste auch mit einer S3-Bibliothek zum Beispiel arbeiten und wer S3-Bibliotheken von Amazon kennt, das sind Riesen-Bibliotheken.
Thomas: Die bringen sehr viel mit und die lassen auch sehr viel im Hintergrund laufen,
Andrej: Wie heißt die nochmal?
Thomas: was du nicht ganz explizit steuerst.
Thomas: Und ja, bei Python heißt die Boto3.
Andrej: Diese mit B, oder?
Andrej: Genau.
Thomas: Da hatte ich nämlich genau das Problem auch schon mal beruflich in irgendeinem Projekt.
Andrej: Ja, ja, Brutto.
Andrej: Ja, die ist so. Langsam.
Thomas: Der RAM-Verbrauch stieg einfach und stieg und stieg und hörte nicht auf.
Thomas: Und irgendwann warst du halt dann von einem Programm, was normalerweise so mit 100 Megabyte läuft,
Thomas: warst du dann halt auch nach ein paar Wochen dann irgendwann mal bei so einem Gigabyte oder so.
Thomas: Und dann läuft er gegen sein C-Group-Limit und entweder knallt es halt hart und schnell,
Thomas: aber manchmal sind C-Group-Limits auch so, er kratzt so an der Ecke und auf einmal wird alles lahm.
Andrej: Was für ein Verhältnis? Kam akustisch gar nicht an.
Thomas: Genau. Und dann recovert das, dann wird quasi der Health-Status flaky,
Thomas: aber nicht flaky genug, damit das Ding weggekillt wird und oh Gott.
Thomas: Deswegen dachte ich mir jetzt bei diesem Projekt, achte mal auf RAM-Verbrauch
Thomas: und dass man gar nicht erst in so eine Situation reinläuft.
Thomas: ich hatte dann die S3-Bibliothek in Verdacht
Thomas: und am Ende des Tages
Thomas: war das aber dann doch nicht
Thomas: wahrscheinlich, weil eben dieses Pattern von
Thomas: oder anders, es gab
Thomas: Hinweise, dass das erstmal nur ganz
Thomas: normales Heap-Verhalten sein könnte.
Thomas: Heap-Verhalten, also quasi
Andrej: Ach, Heap. Okay. Ja.
Thomas: wie Speicher verwaltet wird.
Thomas: Lass mal
Andrej: Das ist echt spannend. Habe ich in meiner,
Thomas: einen Deep Dive machen, das ist jetzt vielleicht für
Thomas: nicht alle von euch so interessant, am Ende
Thomas: kommt noch eine Conclusion für
Thomas: was man sich vielleicht im Hinterkopf mal mitnehmen
Thomas: kann, aber ich fand
Thomas: es an der Stelle spannend, mal einfach
Thomas: für mich auch so aufzuarbeiten, wie genau
Thomas: funktioniert eigentlich Speichervergabe
Thomas: im Betriebssystem so.
Thomas: Weil wie gesagt, ja, fand ich
Andrej: als ich mich mit Go beschäftigt habe, auch ein bisschen
Andrej: gemacht und dann gesagt, hui, das ist ja,
Andrej: Go hat ja noch nicht mal so viele
Andrej: Möglichkeiten wie Rust oder C,
Andrej: da was zu machen. Da gibt es ja eher so
Andrej: Pass-by-Value, Pass-by-Reference Sachen.
Andrej: Das ist aber spannend.
Andrej: Null.
Thomas: auch. Und wie gesagt, wenn du halt mit Sprachen
Thomas: wie Python oder JavaScript
Thomas: oder PHP oder was auch immer machst,
Andrej: Der Admin dann halt später.
Thomas: hast du damit halt einfach nichts zu tun.
Thomas: Und, ja, aber mit
Thomas: tieferen Sprachenhandeln eben schon.
Thomas: Den kannst du treffen, ja, total.
Andrej: Naja.
Andrej: Oder halt auch nicht, wenn du Glück hast.
Thomas: Tja, also
Thomas: dann versuchen wir das mal so auf, sagen wir mal,
Andrej: Kann ja auch kein Problem sein.
Andrej: Und wir reden von Linux.
Thomas: so eine halbe Flughöhe zu halten, damit das
Thomas: greifbar genug ist. Aber ich glaube, das könnte spannend sein.
Thomas: Also, wie geht Speicher?
Thomas: Erstmal muss man, glaube ich,
Thomas: unterscheiden. Es gibt zwei Speicherbereiche
Thomas: und
Thomas: ich weiß gar nicht, wie es bei anderen ist. Tatsächlich,
Andrej: Ja, aber bei Windows und Mac kann es durchaus Unterschiede geben, glaube ich.
Thomas: ich denke mal, bei den BSDs wird es sehr ähnlich sein.
Thomas: Ich glaube auch, das ist aber,
Thomas: ich glaube tatsächlich, Stack und Heap,
Andrej: Ist das unabhängig?
Thomas: das ist erstmal etwas,
Thomas: es ist bei allen Betriebssystemen
Andrej: Das Prinzip sollte gleich sein.
Thomas: gleiches Prinzip.
Thomas: Ich denke ja. Naja, aber
Thomas: Sternchen dran. Behaupten wir es einfach mal.
Andrej: Das Verhalten kann minimal abweichen, würde ich mal behaupten.
Andrej: Ach, guck.
Thomas: Also es gibt halt den Stack und es gibt den Heap und der Stack, das ist so ein Speicherbereich, der existiert auf jeder Ebene deines Codes, wenn man so möchte, so ein Call-Stack und da sind eher kleine Variablen oder kleine Inhalte werden gespeichert, klein und kurzlebig kann man sagen.
Thomas: Also wenn du zum Beispiel eine Funktion schreibst, die macht einen Loop über irgendeine Liste oder sowas, dann wäre halt irgendwie der Loop, der aktuelle Wert, der Index, das könntest du alles super in den Stack reinschreiben oder irgendwelche Booleans oder wenn du irgendwelche Funktionen aufrufst, dann halt eben die ganzen Argumente und alles, das passt alles ins Stack.
Thomas: Kurzlebig vor allem eben daher, wenn der Stack quasi verlassen wird,
Thomas: also wenn die Funktion zurückspringt, rausspringt, dann ist er weg.
Thomas: Das heißt, langlebig geht im Stack nicht.
Thomas: Kurzlebig und klein ist also quasi die Devise.
Thomas: Es gibt nämlich auch ein Größenlimit tatsächlich beim Stack.
Thomas: Also standardmäßig 8 Megabyte kannst du tatsächlich mit U-Limit einstellen.
Thomas: Das ist minus S.
Thomas: Du kannst es also auch potenziell vergrößern, aber das kann man schon mal wissen.
Thomas: Das heißt, den Stack nutzt du eben...
Andrej: 8 MB on Linux, 1 MB on Windows.
Thomas: Ja? Okay. Spannend. Schon ein Riesenunterschied.
Andrej: Deswegen meine ich das.
Thomas: Okay. Gut zu wissen.
Andrej: Ich meine, ich habe mal so ein paar Unterschiede gesehen,
Andrej: wie das Memory Management, würde ich mal behaupten, anders wäre.
Andrej: Ich denke, dass Stack und Heap in der Theorie von der Implementierung gleich sind.
Andrej: Aber vielleicht die Konfiguration
Andrej: und das Verhalten dahinter kann
Andrej: variieren. Was heißt groß?
Thomas: Und der Heap, das ist halt ein großer Speicherbereich.
Thomas: Der kann lange leben, der kann beliebig allokiert werden und wieder freigegeben werden.
Thomas: Aber das ist halt auch nicht ohne Randeffekte.
Andrej: Was heißt groß? Und mehr.
Thomas: Ich würde sagen, eigentlich unbegrenzt.
Thomas: Also ich meine, du kannst im Grunde so viel Speicher dir geben lassen vom Betriebssystem, wie da ist.
Thomas: Ja genau, virtuell versus physisch.
Andrej: Memory League halt, ne?
Andrej: Der Memory Allocator, ne?
Thomas: Aber auch da wiederum gibt es halt Unterscheidungen.
Thomas: Also nehmen wir mal einen konkreten Anwendungsfall.
Thomas: Du hast zum Beispiel jetzt einen HTTP-Download, du willst 25 Megabyte runterladen.
Thomas: Das wäre auf jeden Fall schon mal kein Anwendungsfall für ein Stack.
Thomas: Speicherlimit, aber dann halt auch in Abhängigkeit davon, läuft der Download vielleicht etwas länger,
Thomas: braucht die HTTP-Verbindung,
Thomas: die im Hintergrund gehalten wird, wird die vielleicht auch
Thomas: gepoolt, wird die also länger gehalten,
Thomas: außerhalb einer einzelnen, konkreten Funktion,
Thomas: dann ist das nix für ein Stack.
Thomas: Das heißt, das passiert alles im Heap und
Thomas: da spielt dann
Thomas: der Melloc
Thomas: Mechanismus
Thomas: eine Rolle. Genau, der Memory
Andrej: Wieder so ein CPU-Cycle für den, ne?
Thomas: Allocator. Und
Thomas: der nimmt einem schon mal relativ viel ab. Also
Thomas: das ist im Grunde schon mal eine Abstraktionsschicht,
Thomas: weil was im Hintergrund passieren kann, es gibt
Thomas: nämlich zwei Dinge. Es gibt einmal eine Arena
Thomas: die der malloc sich vom Betriebssystem geben lässt.
Thomas: Das ist wie so ein Pool, Speicherpool.
Thomas: Und es gibt einzelne Speicherbereiche, Memory Maps, wenn man so möchte,
Thomas: die werden unterschiedlich behandelt.
Thomas: Das Ding ist halt, Speicher vom Kernel geben lassen und auch zurückgeben kostet Rechenzeit.
Thomas: Kernel muss ja hier.
Thomas: Dementsprechend möchte man das nicht machen, wenn das nicht nötig ist.
Andrej: Oder zwei oder drei, ne?
Andrej: Wenn möglich. Das heißt
Thomas: Also du möchtest das auf ein Minimum reduzieren.
Thomas: Im Grunde macht Malloc nämlich genau das für dich. Er pflegt halt eine sogenannte Arena, die am Ende ein Speicherbereich ist, Pool, wenn man so möchte. Der kann größer und kleiner werden, aber eben er ist immer zusammenhängend.
Thomas: Wenn du also sagst, okay, malloc allokiert mir jetzt, keine Ahnung, hier einen Megabyte zum Beispiel in diese eine Arena rein und irgendwann ist sie zu 99% voll und er braucht dann zum Beispiel nochmal 128 Kilobyte, dann würde er die Arena einfach vergrößern, wenn möglich, natürlich, absolut, ja, genau.
Thomas: Also er wird sie einfach quasi nach hinten hin vergrößern, er wird einfach vom Betriebssystem weitere Pages, nennt man das glaube ich, sich anfragen und insgesamt kann es mehrere Arenen geben, das schon, aber wenn du halt eine Arena hast, dann ist es ein zusammenhängender Bereich.
Andrej: aber auch, dass, das heißt, das ist
Andrej: immer ein Bereich und nicht
Andrej: mehrere kleine? Okay, ja, okay.
Andrej: Okay, das heißt, die Arena zusammenhängt, das heißt,
Thomas: Das ist eine gute Frage, was da genau passiert. Ich würde vermuten, bei einem, das ist wohl der Kernel-Call mmap/brk, da würde dann wohl vermutlich ein Nicht-Okay zurückkommen, weil nicht erweiterbar und dann würde der Allocator einfach eine neue Arena aufmachen.
Andrej: Wenn jetzt ein anderes Programmspeicher belegt,
Andrej: hinter der Arena, die jetzt erweitert werden soll,
Andrej: dann muss der Kernel umswitchen.
Andrej: Ist ja voll.
Andrej: Das könnte ich mir auch vorstellen.
Andrej: Eine neue Arena aufmachen, rüber kopieren.
Andrej: Und das kostet wieder Performance oder CPU-Cycles.
Thomas: Ich würde vermuten, er würde an der Stelle gar nicht
Andrej: Okay.
Thomas: kopieren. Es gibt auf jeden Fall Limits.
Thomas: Das Ding ist halt, man will gar nicht
Thomas: nur eine Arena haben. Du willst möglichst
Thomas: mehrere Arenen haben,
Thomas: wenn du zumindest eine Multithreaded-Applikation
Andrej: Ja, das muss jetzt Single Source of Truth sein, ne?
Thomas: hast. Und selbst Go ist ja im Hintergrund
Thomas: auch Multithreaded. Du arbeitest
Thomas: nicht mit den Threads, du machst Go-Routinen,
Thomas: aber die werden im Hintergrund über Threads verteilt.
Thomas: Damit du halt
Thomas: jedes Mal, also das ist ja interessant,
Thomas: quasi das Mappen von
Thomas: Memory und das
Thomas: Unmappen von Memory, also
Thomas: allozieren und deallozieren, das kostet ja Zeit, Geld sozusagen.
Thomas: Deswegen geht malloc hin und verwaltet seinen eigenen Pool.
Thomas: Aber auch das ist natürlich ein gewisser Aufwand, so einen Pool zu verwalten.
Thomas: Und auch da musst du halt aufpassen, wenn du jetzt sagst,
Thomas: gib mir mal bitte 128 Kilobyte aus dem Pool,
Thomas: dass nicht irgendwie dieselben Bereiche an zwei verschiedenen Caller,
Thomas: die zur selben Zeit anfragen, gleichzeitig vergeben werden.
Thomas: So, Timing.
Andrej: Ja, das wäre Arbeit.
Thomas: Und dementsprechend hast du halt, wenn es um Threading geht, die Herausforderung, dass du willst Threads nicht blockieren, du willst denen sofort den Speicher, den sie haben wollen, geben und dazu musst du im Grunde mehrere Arenen haben.
Thomas: Wenn du halt eben nur eine hättest zum Beispiel und da fragen gerade zwei Codeschnipsel gleichzeitig an, dann hättest du schon wieder das Problem, dass du halt im Grunde ja intern erstmal, um die Konsistenz oder um das alles synchron zu halten, musstest du erstmal, ich denke, locken im Grunde. Also du musstest quasi sequenziell abarbeiten, um sicherzustellen.
Andrej: Das heißt, da macht die Designentscheidung,
Andrej: mehrere Arenen zu haben, total Sinn,
Andrej: weil du hast ja freien RAM, hoffentlich.
Andrej: Und dann kannst du den einfach schnell allokieren und benutzen.
Thomas: Ja, genau. Dementsprechend hast du halt wirklich, da kann eine relativ hohe Fluktuation drin sein. Und deswegen sagt Melloc, alles klar, so eine Arena ist ja wie so ein Pool. Das heißt, die Applikation sagt einfach nur Melloc, beziehungsweise abstrahiert durch die Programmiersprachen.
Andrej: Und nur weil es Heap ist, heißt es ja auch nicht,
Andrej: dass es für unendlich benutzt wird.
Andrej: Das heißt es ja nicht.
Andrej: Es gibt ja dann, ich denke mal,
Andrej: eine Applikation, nehmen wir mal eine Datenbank
Andrej: oder so, Postgres, etc.
Andrej: Irgendein SQL-Call, ein Insert
Andrej: wird halt im Heap gespeichert, aber irgendwann wird es ja
Andrej: auf Disk persistiert, in der Hoffnung,
Andrej: dass es dann irgendwann ein Gesprächer wird.
Andrej: Und dann braucht man den Heap ja in der Theorie nicht mehr.
Andrej: Für den Call, für den Insert.
Andrej: Du manuell
Thomas: Aber der Call, der dahinter stattfindet, ist so von wegen, Melloc, gib mir einen Speicherbereich und wie viel, wie groß der sein soll und Melloc selber entscheidet dann halt, alles klar, mache ich das in der Arena oder mache ich das mit MMAP im Hintergrund.
Thomas: Und wenn du dann wiederum sagst, ich brauche den jetzt nicht mehr, der darf bitte aus Applikationssicht freigegeben werden, also das kann ja zum Beispiel der Garbage Collector sein, der das am Ende wirklich freigibt, das könnte aber auch einer anderen Programmiersprache, genau, bei Rust wäre es halt ein Drop oder sowas sein.
Andrej: mit C sein.
Andrej: Moment, das müssen wir nochmal machen. Das kann mir bitte
Thomas: Das heißt, der Mellow kriegt quasi das Signal free und guckt dann natürlich, wo war der Speicherbereich und dann entscheidet er. Wenn das ein Arena-Speicherbereich ist, dann heißt das halt nicht, dass er den sofort wieder an das Betriebssystem zurückgibt. Er kann ja nur vergrößern und verkleinern, aber eben wie so eine Partition, immer nur hinten.
Thomas: Das heißt, solange es quasi hinten raus noch benutzten Speicher gibt, kann der den gar nicht ans Betriebssystem zurückgeben. Er verlässt sich also auch so in gewisser Weise auf eine Fluktuation, um hinten auch mal wieder, ja okay, also es gibt, der Speicherbereich von der Arena fängt irgendwo an, also geringere Zahl von Speicheradresse sozusagen und wächst nach hinten oder oben hin, sagt man auch raus.
Andrej: nicht noch nicht rüber. Mach das nochmal mal bitte.
Andrej: Genau, ja.
Thomas: Es gibt also auch den Begriff Top of Heap quasi, wächst nach hinten raus. Wenn du also irgendwo relativ weit hinten noch aktive Daten im RAM hast, kann die Arena nicht verkleinert werden. Das ist quasi der Stopper für dich sozusagen und du kannst auch, das ist ja das Ding, also wir reden ja jetzt hier von Programmiersprachen auf einer tieferen Ebene, wenn dann irgendwo ein Pointer existiert, ein Pointer ist ja nichts weiter als ein Zeiger auf eine Speicheradresse.
Andrej: Okay, ja, der zeigt direkt auf den Hex-Wert von der Adresse.
Thomas: Du kannst also auch nicht einfach sagen, um aufzuräumen, bewege ich jetzt den Speicher mal an eine andere Stelle um, weil dann ist der Pointer nicht mehr valide.
Thomas: Der Pointer zeigt ja direkt auf eine Speicheradresse.
Thomas: So und deswegen ist das mit den Arenen, Speicher allozieren und wieder freigeben, ist nicht so eine ganz klare Sache.
Andrej: Das heißt, er behält einfach den Bereich, den er allokiert hat,
Thomas: Es ist nicht so, du sagst in deinem Programm jetzt, ich packe jetzt mal hier ein Megabyte in eine Variable und dann ist ein Megabyte weniger oder mehr RAM-Verbrauch da und danach lösche ich die Variable und ein Megabyte RAM-Verbrauch ist wieder frei.
Thomas: So läuft es halt nicht.
Thomas: Also alleine schon bei Design, weil man nicht jedes Mal wieder Speicher an den Kernel zurückgeben möchte, der sowieso in den nächsten Millisekunden oder Sekunden neu verwendet werden würde.
Thomas: Die Kosten kann man sich sparen.
Andrej: um die Allokierungs-Calls zu sparen,
Thomas: Genau. Und was dann noch entsteht, ist der Effekt von Fragmentierung, weil nicht jeder Speicher, also nicht jede Variable zum Beispiel, die du mit Werten befüllst, ist gleich groß, sonst die eine ist 8 Kilobyte groß, die andere ist vielleicht 2, die nächste ist 16, so und dann hast du also plötzlich durch die ganzen Frees in diesem Arenenpool, weil du ja nicht unbewegen, weil du nicht defragmentieren kannst quasi, hast du plötzlich viele kleine Lücken.
Andrej: weil es wird sowieso irgendwo Megabyte mal wieder benutzt.
Andrej: Okay.
Andrej: Ich meine, du kannst die fragmentieren,
Thomas: Das kannst du auf Disk machen, easy, aber wegen der Pointer und der Speicheradresse geht das halt nicht ohne weiteres.
Andrej: allerdings ist es ein teurer Prozess.
Andrej: Das erinnert mich ein bisschen an den SQLite-Performance-Kurs,
Andrej: den ich mal reingezogen habe.
Andrej: Also da hast du das Gleiche.
Andrej: du hast ja eine Datei und du schreibst da die Sachen rein.
Andrej: So, was passiert, wenn du jetzt Sachen löscht?
Andrej: Auf Programmebene sind die Einträge weg,
Andrej: aber auf Disk-Ebene existieren die halt noch,
Andrej: sind nur als gelöscht markiert, die Pages.
Andrej: Weil wenn du jetzt die Sachen wirklich physisch löschen möchtest,
Andrej: musst du die Datei umschreiben,
Andrej: also im Endeffekt neu schreiben und die alte löschen.
Andrej: Und das ist ein kostenintensiver Prozess im Memory.
Thomas: Ja, ich denke dann, da brauchst du dann wahrscheinlich sowas wie eine Java-VM, so eine virtuelle Maschine, die quasi abstrahiert, die gibt dir dann virtuelle Speicheradressen.
Andrej: Nicht drüber nachgedacht, Dinas.
Andrej: Ja gut, aber bei Python wäre es ja ähnlich, weil Python ist ja auch interpretiert.
Thomas: Ich nehme das gerade an, ehrlich gesagt, ich bin nicht Java-erfahren, aber ich, ne, ja, wahrscheinlich auf einer anderen Ebene.
Andrej: Aber vielleicht arbeitet es auch anders.
Andrej: Ach, okay, ja, hast recht.
Thomas: alloziert selber Speicher vom
Thomas: Betriebssystem, aber Java ist ja
Thomas: eine virtuelle Maschine. Es ist also eine
Thomas: Abstraktionsschicht dazwischen.
Andrej: Schon, aber ja.
Thomas: Und deswegen vermute ich, dass Java
Thomas: da deutlich mehr Möglichkeiten hat,
Thomas: zu sagen, ich kann
Thomas: Speicher wieder freigeben und
Thomas: tatsächlich könnte es auch defragmentieren,
Thomas: weil Java, also die VM, kann ja
Thomas: Referenzen halten, wo der Speicher gerade
Thomas: wirklich im Betriebssystem, äh nicht im Betriebssystem,
Thomas: auf wirklicher Adresse
Andrej: Nie drüber nachgedacht, dass diese JVMs bei Java und LXC und wo so nicht alle,
Thomas: liegt und kann das
Thomas: intern zum Code hinweg
Thomas: abstrahieren. Virtuelle Adressen.
Thomas: So ein bisschen wie, ja,
Andrej: was für einen Sinn das dahinter hat, diese Mini-4Ms,
Thomas: so ein, ne, fragmentieren
Andrej: die dann die Sprache selbst und das Speichermenschen und andere Dinge natürlich abstrahieren.
Andrej: Okay.
Andrej: Ach, und jetzt kommt musl, ne?
Thomas: ist dann halt so ein Effekt, den du hast.
Thomas: Weil vielleicht nochmal auf der anderen Seite,
Thomas: jetzt haben wir also auf der einen Seite
Thomas: diese Arena, ne, mit,
Thomas: die nutzt man auch eher für kleine Werte.
Thomas: Also es gibt so, das ist eines von
Thomas: diesen möglichen Tunables sozusagen, wo
Thomas: du sagen kannst, ich kann diesen, ich kann das
Thomas: Verhalten vom Melloc, kann ich beeinflussen.
Thomas: Also der Melloc wird quasi
Thomas: in dein,
Thomas: in dein Programm rein
Thomas: programmiert. Es gibt da verschiedene
Thomas: Mellocs nämlich. Das ist es nämlich. Es gibt halt
Thomas: das Standard-Melloc vielleicht zum Beispiel
Thomas: von glibc.
Thomas: Aber es gibt ja nicht nur glibc.
Thomas: Es gibt ja auch die Musel.
Andrej: Ach, ja, ja.
Thomas: Die hat einen eigenen Melloc. Dann gibt es noch
Thomas: einen JEMelloc.
Thomas: Den kannst du alternativ verwenden
Thomas: für deine Software. Also nicht mit
Thomas: jeder Programmiersprache, aber zum Beispiel bei Rust gibt es dann
Thomas: die Möglichkeit zu sagen, okay, ich hätte jetzt gerne
Thomas: den JEMelloc. Entweder
Andrej: Ja, und es hängt halt stark von der Applikation ab,
Thomas: systemweit oder eben an gewissen Stellen,
Thomas: also systemweit, applikationsweit
Thomas: und du hast also gewissermaßen,
Thomas: also du kannst dir
Thomas: erstmal den Melog aussuchen und in der Regel kannst
Thomas: du den auch tunen mit irgendwelchen Informationen,
Thomas: also zum Beispiel bei G-Lab C-Melog ist es
Thomas: einfach so, du gibst dem gewisse Endvariablen
Thomas: und eine von diesen Endvariablen
Thomas: ist zum Beispiel,
Thomas: was ist die maximale
Thomas: Größe, die du in einer
Thomas: Arena allokierst,
Thomas: weil natürlich, je größer das ist
Thomas: Und sagen wir mal, liegt dann am Ende des Speicherbereichs, hast du 5 MB allokiert, desto schwieriger wird es halt später auch oder anders. Es ist ja schwierig, die Arena wieder kleiner zu machen. Deswegen willst du die halt nicht unnötig oft oder stark vergrößern, weil du die eventuell nicht wieder kleiner kriegst.
Thomas: Genau. Also nehmen wir mal diesen Anwendungsfall, den ich vorhin meinte. Du lädst eine Datei runter von S3 oder irgendwie HTTP. Content-Length, der Header in der Respawn sagt dir schon, das Ding ist 25 MB groß. Dann kannst du halt sagen, alles klar, malloc, gib mir bitte etwas 25 MB Großes.
Andrej: mit wie vielen Daten du immer umgehen musst.
Andrej: Und dahingehend kannst du es dann optimieren.
Andrej: Oder musst du.
Andrej: Ja.
Andrej: Weil er nur für diesen einen Use Case genutzt wurde.
Thomas: malloc sagt dann, das ist definitiv über dem Schwellwert für die Arena. Ich mache also hier nicht die Arena größer, sondern ich nutze MMAP, also ich hole mir quasi einen neuen, frischen Speicherbereich vom Kernel, vom Betriebssystem und der hat auch genau einen Anwendungsfall, nämlich das, wofür jetzt hier gerade angefragt wird.
Thomas: Das heißt, wenn dieser Anwendungsfall, also dieser Download sozusagen, wenn der nachher weg ist, wenn du den aus deinem Speicherbereich rauslöscht, dann kann der auch komplett wieder so ganz einfach mit einem Call wieder freigegeben werden, mit einem Unmap.
Thomas: Genau, das ist nämlich, also das ist halt wichtig, um zu verstehen, du riskierst keine weitere Fragmentierung, wenn du das so machst.
Andrej: Er wird immer größer.
Thomas: Aber auch da wiederum ist, also den Vorteil hast du vor allem dann, wenn du weißt, wie groß ist der Speicherbereich, den ich nachher brauche.
Thomas: Wenn du das nicht weißt, wird es schwierig, denn dann sagst du halt auch vielleicht sowas wie, gib mir mal ein Stück Speicherbereich und dann ist das Verhalten wohl folgendes.
Thomas: Also quasi du, sagen wir mal, du fängst an mit so einem Download und genau, der wird ja immer größer.
Andrej: Ja, weil du immer nur den Start der Adresse merkst, meistens.
Thomas: Das heißt, er nimmt sich erstmal einen Megabyte an Speicher, reicht nicht.
Thomas: Okay, dann allokiert er zwei Megabyte, doppelt so viel.
Thomas: Muss aber den alten Inhalt rüber kopieren und den alten Speicherbereich freigeben,
Thomas: weil bei MMAP auch gilt, ein zusammenhängender Bereich.
Thomas: Weil du hast ja einen Pointer, der auf eine Speicheradresse zeigt und einen Pointer, nicht einen pro Megabyte.
Thomas: Das ist ja ein Pointer in der Programmiersprache, der auf einen Speicherbereich zeigt.
Thomas: Genau.
Thomas: So, und das heißt dann, okay, er geht von 1 auf 2 Megabyte, kopiert dann aber das eine Megabyte direkt in den neuen Speicherbereich rein.
Andrej: Aber das kostet natürlich Performance.
Thomas: Da hast du schon mal 2.
Thomas: So, 2 reichen immer noch nicht.
Thomas: Dann macht er 4 Megabyte, kopiert die ersten 2 Megabyte da rein.
Thomas: Reicht immer noch nicht.
Thomas: Dann 8, dann 16, dann 32.
Andrej: Ja, und das ist ja, sieht man ja gerade bei den LLMs,
Thomas: So und diese ganzen MAM-Copies, da sieht man dann auch wieder, wie wichtig es ist, dass man schnellen RAM hat, schnelle Anbindung an RAM. Das ist ja Datenfluss, der da passiert. Welcher Teil genau? Ah, ja, habe ich auch grob in Erinnerung. Ist lange her, aber ja.
Andrej: oder seit dem KI ein bisschen gepusht wurde,
Andrej: Memory, klar war auch vorher schnell,
Andrej: aber was für einen Effekt das hat und
Andrej: teilweise bei, soweit ich weiß, bei AMD
Andrej: CPUs einen sehr, sehr großen Effekt hat
Andrej: für die Performance von der CPU halt auch.
Andrej: Die Bandbreite, weil
Andrej: du hast ja
Andrej: Memory wird ja verkauft mit immer
Andrej: wie viel Megahertz sie schaffen und dann gibt es auch
Andrej: Timings und alles. Und das, was
Andrej: ich glaube ich noch im Kopf habe,
Andrej: ist, es gibt ja dieses XMP.
Andrej: Dieses XMP, das ist so das Profil,
Andrej: womit Standard Memory ist glaube ich
Andrej: 2666 Megahertz oder sowas.
Andrej: 300, irgendwie sowas.
Andrej: Aber mittlerweile gibt es ja auch viel höhere
Thomas: Es gibt so Profile, XMP-Profile oder so. Ich glaube, das war auch damals einer der großen Faktoren, die bei Apple Silicon quasi diesen Performance-Boost gebracht haben, weshalb man auch gesagt hat, naja, es ist ja immer noch ein geteilter Speicherbereich.
Andrej: Megahertz-Zahlen, 4000, 5000 und so weiter.
Andrej: Und du musst
Andrej: auf einem Desktop-Rechner
Andrej: das aktivieren
Andrej: im BIOS. Das ist nicht per Default.
Andrej: Wenn du einen RAM einfach installierst, bleibt
Andrej: der bei 2666. Ja,
Andrej: XMP-Profile, genau. Wenn du das aktivierst
Andrej: im BIOS, dann kriegst du die schnelle Bandbreite
Andrej: und dann profitiert deine CPU und dein
Andrej: gesamtes System im Endeffekt wahnsinnig
Andrej: von sowas. Und ich glaube, durch diese
Andrej: kleine Story versteht man
Andrej: das auch besser, weil es gibt, nicht jedes
Andrej: Programm ist optimal, sagen wir es mal so.
Andrej: Und so ein Rechner besteht
Andrej: aus sehr, sehr vielen Programmen. Ich glaube,
Andrej: da gibt es noch einen Unterschied zwischen, wenn
Andrej: du RAM ansprichst über die
Andrej: standardischen Ställe, also erst mal
Andrej: die physischen Sockel und dann
Andrej: einen physischen RAM-Stick und eine physische
Andrej: CPU, die Entfernung davon hat ja schon
Andrej: einen Rieseneffekt. Mittlerweile,
Thomas: Genau. Und die sind halt viel kleiner. Da reden wir jetzt irgendwie von LP-CAM oder sowas. Das ist nicht das, was die Framework-Jungs jetzt auch beim... Ja, genau. Man sieht halt daran, wie wichtig es ist, dass der RAM schnell angebunden ist.
Andrej: du hast ja auch in jeder CPU, du hast ja,
Andrej: ich glaube, es heißt L2 und L3 Cache,
Andrej: und die werden ja auch genutzt
Andrej: für kleine Operationen.
Andrej: Und ich glaube Apple, ja, ein paar Megabyte, wenn überhaupt.
Andrej: Und was die ja gemacht haben, oder generell Telefonschips machen das ja auch,
Andrej: also ARM generell, die bauen diesen RAM halt direkt um die DAIs rum.
Andrej: GPUs haben ja nichts anderes, VRAM ist ja auch nichts anderes.
Andrej: VRAM ist ja einfach nur RAM, der direkt am DAI dran gepackt wurde,
Andrej: damit das so kurze Leitungswege hat wie sonst was.
Andrej: Und es gibt ja jetzt auch den neuen RAM-Standard,
Andrej: der in einem neuen Framework auch benutzt wird.
Andrej: Früher sind es ja die DIMM oder SU-DIMM für Laptops.
Andrej: Und jetzt heißt der, wie heißt der jetzt nochmal?
Andrej: LPDDR, genau, das ist der, glaube ich.
Andrej: Und allein dadurch, dass der physische Konnektor ein anderer ist
Andrej: und wahrscheinlich auch andere Dinge,
Andrej: haben die ganz andere Bandbreitenmöglichkeiten auf einmal.
Andrej: Weil so ein Stecker, ein elektronischer,
Andrej: der hat halt auch Widerstände, Leitungslänge.
Andrej: Jeder Stecker führt halt auch Dämpfung hinzu.
Andrej: Und das wird halt dann nicht so schnell,
Andrej: wie wenn es direkt dran gelötet ist im Die selbst.
Thomas: Und ich habe jetzt einfach mal, ich habe jetzt hier so ein M4 Pro gerade und dann hat mich eben interessiert, was sind denn da so die Bandbreiten? Der M4 selber macht 120 Gigabyte pro Sekunde. Überlegen, wie viel das ist. Gigabyte pro Sekunde. Der M4 Pro macht 273 Gigabyte pro Sekunde. Wahnsinn. M5 Pro 307 brauchen das halt. Das macht Sinn.
Andrej: Ja, das ist wirklich viel.
Andrej: Ja, und die LLMs profitieren ja richtig krass davon.
Andrej: Die Bandbreite vom VRAM zum GPU-Core ist ja immer schon hoch gewesen,
Andrej: weil alleine der GPU-Core hat ja einfach diese integrierten RAM.
Andrej: Und jetzt hat Apple genau das Design oder viele andere Arme und so auch nachgemacht.
Andrej: Anstatt das nur an die GPU zu hängen, haben die das jetzt auch an die CPU gehangen.
Andrej: Oder auch an diese anderen Hardware, die Neurable Engine oder wie sie heißt.
Andrej: Also, dass die halt dediziert schnell
Andrej: zugefahren Aufrahmen. Der RAM heißt übrigens
Thomas: Ja, aber es steht, glaube ich, also LP-DDR und LP-CAM, das stand bei beidem, jetzt bei Framework zum Beispiel, mit dem 13 Pro, der das ja nutzt. Und wenn man sich so ein Framework 13 Pro zusammenstellt, dann hat man ja immer noch die Option zu sagen, nee, RAM bringe ich selber mit, braucht ihr mir nicht da reintun. Es scheint sehr neu zu sein, dieses Modul. Ich bin ja nicht so der Hardware-Fuchs, aber du findest kaum was.
Andrej: LP-CAM. Nicht
Andrej: der andere, was ich da gesagt habe.
Andrej: Ja. Ja, ja, das
Andrej: gibt es kaum auf dem Markt.
Andrej: 32 GB von Lenovo
Thomas: Genau, und bist du bei Framework und CR dran, haben die bessere Konditionen.
Andrej: kosten gerade 1.089 Euro.
Andrej: Ja. Ich habe 100 Euro
Thomas: Bei dir war das ja noch anders, als du dein Framework 13 bestellt hast, hast du ja auch gesagt, gib mir mal hier bitte das Notebook, aber SSD und RAM kaufe ich woanders.
Andrej: für 48 GB bezahlt.
Andrej: Ja. 100 Euro für
Thomas: Wie viel RAM? Oh, Träumchen, ey.
Andrej: 48 GB. Das kann ich jetzt
Thomas: Ja, genau, nichts geworden. Das ist das Problem.
Andrej: dafür, wenn ich das verkaufe, kann ich mir ein
Andrej: Framework-Laptop kaufen, einen neuen. Aber ohne RAM.
Andrej: Bringt mir leider nichts.
Andrej: Okay, Stack, Heap, RAM.
Thomas: Ach ja, gut, genau, Stackleap und dann eben Arena und MMAP und MUNMAP.
Andrej: Spannend. Weiter.
Andrej: Fragmentatus?
Thomas: Und da eben gesagt, der große Vorteil, wenn du halbwegs weißt, wie viel RAM du brauchst, zur Not schätzen, zur Not einfach ein bisschen drüber schätzen, wird immer noch günstiger sein, einmal 25 MB zu allokieren und auch nur mit 20 zu belegen, als irgendwie mit einem MB anzufangen und den dann wachsen zu lassen, schrittweise.
Thomas: So, Dinge, bei denen du dir wieder gesagt bei Python oder so gar keine Gedanken machen musst. Den Performance-Panel, die hast du wahrscheinlich natürlich trotzdem, aber du machst dir halt keine Gedanken. Genau, so, wie bin ich jetzt eigentlich auf dieses Thema gekommen?
Thomas: Ja, ich hatte halt wieder diesen steigenden Speicherverbrauch beobachtet und zwar bei meiner eigenen Applikation, die vorher irgendwie so bei 10 Megabyte super stabil lag und immer wenn es mal ein bisschen rauf ging, ging es dann halt auch wieder runter und das war alles toll.
Thomas: Und dann hatte ich halt gedacht, ja, ist das jetzt ein Lack oder nicht? Und die Theorie war, nee, nee, das wird wohl die Arena sein oder die Arenen sein. Da gibt es halt, also Standardverhalten irgendwie bis zu acht Arenen pro CPU-Kern werden aduziert. Eben um nicht die Threads zu verlangsamen.
Thomas: Aber wie wir jetzt gerade festgestellt haben, es passiert Fragmentation, Fragmentierung, ja, Fragmentation, ja, das passiert und der RAM wird auch wiederverwendet, wenn es die Plätze gibt, aber wenn du halt ungünstige Fragmentierungen hast, dann geht dir halt auch effektiv RAM verloren.
Andrej: Fragmentation.
Andrej: Das geht, glaube ich, beides.
Andrej: Du kriegst ja nicht wieder, ne?
Thomas: Das kann passieren. Also, ja, genau. Und normalerweise pendelt sich das irgendwo ein, weißt du, dann läuft der Prozess halt einen Tag oder zwei und die Kurve, die so ansteigt, die flacht einfach immer weiter ab, immer weiter ab, bis du halt einen relativ konstanten Verbrauch hast, sofern du nicht eben wieder die Arena nochmal deutlich mehr auslassen müsstest.
Andrej: Das würde aber nur passieren, wenn das Usage-Pattern der Applikation
Thomas: Aber die Fragmentierung, der Effekt, genau. Aber irgendwann sollte sich das einpendeln mit der Arena. So, das hat es bei mir aber nicht. Und deswegen war ich so irritiert und hatte erstmal ein Memory Leak vermutet.
Andrej: relativ konstant bleibt.
Andrej: Gewollt.
Thomas: Und nach viel Testen, Experimentieren, hat sich dann herausgestellt, es war gar nicht ein Memory-Leak, es war einfach das Verhalten von Melloc an der Stelle. Also wie Melloc tatsächlich mit dem Rahmen umgeht, wann es was in M-Maps packt, wann es was in Arena packt, wie es die Arena vergrößert, wie es wieder Speicher freigebt oder auch nicht freigebt und so weiter.
Thomas: Das war im Endeffekt der ausschlaggebende Punkt. Und zwar hatte ich das Alpine-Image verwendet. Also ich habe quasi Rust gegen Lippenmusel gelinkt und damit hatte ich den Mellock von der Musel. Und das war das Verhalten mit dem Mellock von der Musel. Der RAM-Verbrauch über Tage hinweg ansteigend.
Andrej: Gab es da nicht auch vor einigen Jahren so ein riesen
Thomas: Und im Zuge der Tests von, was könnte es denn sein, nachdem vieles ausgeschlossen war, habe ich dann einfach mal gegen die GLIPSY gebaut und das Verhalten war komplett anders.
Thomas: Also es gab Probleme in Python-Images grundsätzlich. Also ich erinnere mich noch an Zeiten, wo du in den Alpine-Python-Images, wenn du mit so Sachen gearbeitet hast, wie hieß das noch hier, Thread-Wait oder sowas, oder Lock-Waits, also du wartest auf ein, alter alter Mann, zu lange kein Python mehr geschrieben, wie hieß das Ding noch, das Objekt?
Andrej: Thema in Python-Images auch?
Andrej: LibMusel vs.
Andrej: GCC?
Andrej: Ist egal.
Thomas: Doch, es war ein Lockrate, glaube ich, also Mutex. Wenn du darauf wartest, dann war das Verhalten in der Alpine-Bibliothek einfach grundsätzlich anders. Da sind, glaube ich, auch Locks durch entstanden, also quasi ging nicht weiter.
Andrej: Ich weiß nicht, was das war.
Thomas: Das hat sich im Laufe
Thomas: der Zeit, glaube ich, gebessert. Also ich habe
Thomas: in letzter Zeit auch, wenn ich was mit Python gemacht
Thomas: habe, häufig auch die Alpine-Images
Thomas: verwendet und habe das Problem nicht mehr
Thomas: so gesehen, aber
Thomas: das ist jetzt bestimmt auch sieben, acht Jahre her
Thomas: oder so. Was denn?
Thomas: Aber wer war der,
Andrej: das ist ein Blogartikel von den
Andrej: Home Assistant Jungs, von den Entwicklern.
Andrej: Improving Python Speed by 40%
Andrej: when running Home Assistant. Und da war das auch
Andrej: ich meine auch Alpine Linux
Andrej: versus andere Sachen.
Andrej: Kriegst du nicht mehr ganz hin, aber müsste ich mal
Andrej: nochmal lesen.
Andrej: Nee, sehe ich jetzt gerade nicht. Aber es geht auch nicht darum, dass
Thomas: war Alpine langsamer
Thomas: oder schneller? Siehst du das auf den ersten
Thomas: Blick? Ja, okay. Das kann ja auch einfach
Andrej: eins besser ist oder schlechter, sondern die haben halt
Andrej: andere Verhalten, so wie du sagtest. Das muss halt
Andrej: für deine Applikation anpassen. Ich schicke dir
Andrej: dann einfach mal, dann kann man es die Tage mal lesen.
Thomas: sein, ne? Meine
Thomas: Beobachtung war ja jetzt, Alpine
Thomas: Melog geht mit dem Speicher,
Andrej: Das ist bei dir nicht passiert.
Thomas: Nennen wir es mal verschwenderischer um, kann natürlich sein, dass es dadurch weniger Performance Palette hat.
Thomas: Dafür brauchst du halt mehr RAM.
Thomas: Das Interessante dabei ist für mich gewesen, man greift ja in der Regel zu Alpine, weil die Images kleiner sind.
Thomas: Also Motivator ist ja, weniger Ressourcen zu verbrauchen, jetzt erstmal auf Image Size Ebene.
Thomas: Aber man rechnet vielleicht nicht unbedingt damit, dass das RAM-Verhalten der Applikation dadurch durchaus maßgeblich anders ist.
Thomas: Also mit G-Lipsy hatte ich diesen Effekt nicht, mit G-Lipsy hatten wir genau das Verhalten, was erwartet war, nämlich es wird Speicher alloziert, die Applikation gibt ihn wieder frei, aber weil es halt in der Arena landet, bleibt die Arena weiterhin erstmal bestehen.
Thomas: Sie wächst mit der Zeit an, wegen Fragmentierung, weil halt nicht immer genau der passend große Speicherblock da ist, den du gerade brauchst, aber das pendelt sich aus und irgendwann ebbt diese Kurve ab und dann bist du sehr stabil.
Thomas: das ist mit Alpine nicht passiert,
Thomas: mit der Libmuse. Dann gibt es halt noch
Thomas: Tunables, die können dir wiederum dabei helfen,
Thomas: weil wir hatten ja gerade,
Thomas: so eine Arena ist halt eben schwer,
Thomas: so eine Arena wieder kleiner zu machen,
Thomas: solange halt hinten Daten noch hängen, quasi.
Thomas: Dementsprechend kannst
Thomas: du,
Thomas: du kannst beeinflussen zum Beispiel, wie viele
Thomas: Arenen maximal allokiert werden.
Thomas: Wenn du weißt, dass deine Applikation nicht
Thomas: super heavy
Thomas: threaded, dann kannst du halt einfach
Thomas: sagen, okay, ich limitiere jetzt
Thomas: zum Beispiel auf zwei Arenen
Thomas: so, dann ist die Wahrscheinlichkeit,
Thomas: dass die Fragmentierung vieler einzelner
Thomas: kleineren Arenen einen größeren
Thomas: Impact hat, geringer.
Thomas: Wenn das jetzt komisch formuliert war. Aber ich glaube, ihr wisst, was ich meine.
Thomas: Odd but true. Genau.
Andrej: Ja, ich glaube, das war komisch, aber das macht Sinn.
Andrej: Klingt komisch, ist aber so.
Andrej: Also nutze jetzt glibc anstatt musl, ne?
Thomas: Also das war am Ende die Botschaft. Ich fand's
Thomas: persönlich für mich auch nochmal spannender,
Thomas: als High-Level
Thomas: Programmierer mehr,
Thomas: also mehr High-Level erfahrener Programmierer,
Thomas: nochmal ein bisschen tiefer einzusteigen und das
Thomas: zu verstehen, wie jetzt genau dieser
Thomas: Effekt zustande kam und ich muss sagen,
Thomas: der war jetzt an der Stelle, wo ich ihn am geringsten
Thomas: vermutet hätte.
Thomas: Ich hatte ihn an anderen Stellen vermutet.
Thomas: Tja. Ja, jetzt ist
Thomas: die GLIP-Variante. Das heißt
Thomas: jetzt das Debian-basierte Image effektiv
Thomas: und ja,
Thomas: es ist ein bisschen größer, aber
Thomas: speicherverbrauchstechnisch. Das Interessante,
Thomas: wir haben ja beide
Thomas: im Job Plattform-Services gebaut.
Andrej: Jaja, aber es ist ja auch schwierig für uns gewesen,
Thomas: So. Und wir hatten
Thomas: die Art und Weise, wie wir
Thomas: die Plattform-Services gebaut haben, war eigentlich
Thomas: immer nach demselben Schema, die liefen auf
Thomas: separaten VMs aus Isolationsgründen.
Thomas: Separate VMs
Thomas: haben bei Design halt
Thomas: schon mal einen etwas höheren
Thomas: Overhead, RAM und
Thomas: CPU-seitig, als würdest du jetzt irgendwie
Thomas: das alles geshared auf einem
Thomas: Kubernetes-Cluster laufen und mit Containern arbeiten.
Thomas: Alleine schon, weil du ja zum Beispiel
Thomas: auf jeder VM brauchst du deinen eigenen
Thomas: Log-Shipper, du brauchst
Thomas: deinen eigenen, keine Ahnung,
Thomas: Omitius oder so, also Dinge für Metriken.
Thomas: Du brauchst alles nochmal separat, was du ansonsten im Kubernetes-Cluster zentral irgendwie laufen lassen könntest.
Thomas: Das heißt, RAM ist sowieso schon was enger.
Thomas: Und ich erinnere mich an die eine oder andere Situation, wo wir auch beobachtet haben,
Thomas: da ist RAM-Verbrauch bei einzelnen Instanzen, der kontinuierlich nach oben geht.
Thomas: So eine konkrete Erklärung hatten wir dafür nicht.
Thomas: Die kann auf einer anderen Ebene zu suchen sein.
Thomas: Sagen wir mal bei einer MySQL zum Beispiel.
Thomas: Wie sie jetzt wiederum mit ihrem Speicher verwaltet.
Andrej: weil wir haben ja Plattform-Services gebaut,
Andrej: Databases-Services, was auch immer,
Andrej: und wir wissen ja nicht das Nutzerverhalten.
Andrej: Also ich meine, wir können es vielleicht sehen,
Thomas: Total. Ich weiß noch, bei uns war eines der größten Challenges, war zum Beispiel MySQL oder MariaDB, weil die haben ja viele Engines, die sie supporten. Und es gibt Buffer und Key-Size-Limits und so, die du definieren kannst. Manche davon haben einen globalen Scope, die gelten für alles. Manche davon haben den Scope einer konkreten Engine.
Andrej: anhand wie viel die speichern, wie viel Last da drauf ist,
Andrej: aber jetzt genau, was sie da tun, geht ja nicht.
Andrej: Und das ist auch was, was ich gelernt habe dann über die Jahre bei Gridscale war,
Andrej: du kannst einen Plattform-Service benutzen,
Andrej: aber Plattform-Service sind immer General Purpose.
Andrej: Wenn du jetzt einen Kunden hast, der dann sagt,
Andrej: ich hätte gerne mehr Performance in dem Heap von MySQL,
Andrej: in der InnoDB, dies, das, jenes.
Andrej: Das ist zwar schön und gut, dass der eine Kunde das will,
Andrej: aber wenn du das bei dem einen Kunden aktivierst
Andrej: und du möchtest das global haben,
Andrej: dann wird es bei dem anderen Kunden vielleicht langsamer.
Andrej: Und das ist genau das Thema, was du jetzt gerade angehst.
Andrej: Das ist super individuell vom Usage-Pattern.
Andrej: Viel zu viele.
Andrej: Ja, genau.
Andrej: MyISAM ist schon lange nicht mehr.
Thomas: Manche davon werden einmal zentral definiert, gelten aber pro Engine und wenn das alles zusammenfällt, du weißt nicht, welche Engines der User nutzt. Ja, die meisten nutzen irgendwie InnoDB oder sowas oder ist das noch aktuell? Ich weiß schon gar nicht mehr.
Andrej: Also das ist deprecated.
Thomas: Genau. Aber es gibt ja noch eine Archive-Engine und ich glaube MariaDB hat auch nochmal eine neue hinzugefügt. MariaDB, Nudebin, ja. Ich glaube es gab da noch eine andere Engine, ich komme gerade noch nicht drauf, wie sie heißt. ARIA, genau. Die habe ich gesucht.
Andrej: Echt?
Andrej: Wusste ich gar nicht.
Andrej: Ich kenne nur MyISAM und InnoDB.
Andrej: What the hell?
Andrej: Ich sehe hier gerade Comparison of MySQL Database Engines.
Andrej: Der Wikipedia-Artikel ist viel länger, als ich erwartet habe.
Andrej: Memory, Mona, MyISAM, MyRocks, NBD, S3?
Andrej: Ich bin verwirrt.
Andrej: Archive.
Andrej: Ja, gibt es auch noch.
Andrej: ARIA.
Andrej: Ach so, warte mal.
Thomas: Ja, und dann gibt es Limitierungen, die du auf Joins anwenden kannst zum Beispiel, aber du weißt ja nicht, wie viele Joins passieren gerade gleichzeitig auf dem Datenbank-Server, weil du das gar nicht beeinflussen kannst. Der User hat einen gewissen Einfluss drauf, seine Applikationen haben den Einfluss definitiv darauf, aber das ist genau wie du sagst, das ist General Purpose, du kannst das nicht auf einen Use Case 100% abstimmen, funktioniert leider nicht.
Andrej: Das war ein ganz, okay, okay.
Andrej: Maria Debi hat Aria Connect Federated
Andrej: XS3. What the hell? Das habe ich erst mal
Andrej: nicht gehört. Danke.
Andrej: Ja, oder der Kunde hat,
Thomas: Selbst wenn du halbwegs automatisiert quasi durch Beobachtung weiter tunen würdest, Workloads ändern sich manchmal halt auch einfach. Du weißt auch nicht, ob nachher mehrere Applikationen auf demselben Datenbankserver laufen und plötzlich verschiedene Verhaltensschemata auftreten. Alles möglich.
Andrej: also ich bin ja von dem
Andrej: Admin, der auf AWS aufgebaut hat mit
Andrej: Plattform-Services, bin ich heruntergegangen in den Stack und habe selber
Andrej: die Plattform-Services gebaut bei gridscale.
Andrej: Und das fand ich jetzt spannend, weil
Andrej: du weißt ja, der Kunde kann eine App haben und die App
Andrej: kann immer gleich sich verhalten. Aber wenn
Andrej: der Kunde jetzt sagt, okay, es gibt aber
Andrej: Kunden von dem Kunden,
Andrej: die high-use-ed sind,
Andrej: Also ganz anders und dann hat er einen dedizierten Datenbank-Server für diesen einen Kunden, weil der sonst alles andere platt macht, aber zehn Kunden auf einen anderen Datenbank-Server. Das ist die gleiche Applikation, aber komplett anderes Nutzerverhalten und das kann sich auch ändern über die Zeit. Kann ja sein, dass der Kunde von dem Kunden auf einmal total groß wird, auf einmal ist das total der große Online-Shop, nehmen wir mal das in den Online-Shop, dann hast du auf einmal ganz andere Usage-Patterns und es ist halt null vergleichbar, wenn du das trennst und deswegen, wenn du wirklich Performance-Optimierung machen musst, musst du das auch in meinen Augen komplett.
Thomas: Und wir haben es aber damals natürlich versucht, auf dieser General-Purpose-Ebene, soweit es für uns möglich war, dieses Speicherverhalten zu oder nachzuvollziehen oder die Kontrolle auszuüben. Und natürlich, die Applikation hat wahrscheinlich immer noch den meisten Einfluss darauf, aber wir haben auch relativ viel mit Alpine-Images gearbeitet.
Andrej: Stimmt, das wäre ja eigentlich spannend gewesen damals.
Thomas: Ich kann mich nicht erinnern, dass wir da jemals geguckt haben, ist das Verhalten mit einer glibc-basierten Image, ist das identisch oder nicht?
Thomas: Das hätte natürlich auch wieder so seine Konsequenzen gehabt, wenn du jetzt, das Debian-basierte Image ist halt auf jeden Fall mal deutlich größer, also Buildtimes deutlich länger, APK, es ist ja Wahnsinn, wie schnell das ist.
Andrej: Zumindest könnten wir dann den,
Andrej: müssen wir zweimal testen,
Andrej: einmal nur die Support-Prozesse,
Andrej: Log-Shipping, bla bla bla,
Andrej: als auch die Payload.
Andrej: Ob es jetzt Postgres ist, MySQL, etc.
Andrej: Precompiled.
Thomas: das ist genial, wie
Thomas: UV, hier bei Python,
Thomas: UV-Install versus
Andrej: Da finde ich das spannend jetzt gerade.
Thomas: PIP, ja,
Thomas: Wahnsinn, ja, aber wenn
Thomas: dann die Images, die bauen dann länger,
Thomas: gut, das ist nicht so oft, aber bei
Thomas: jeder Instanz, die du installierst von dem Service,
Thomas: musst du halt das Image auch runterladen,
Thomas: wenn das halt doppelt so groß ist, braucht es nicht nur
Thomas: doppelt so viel Platz lokal, sondern es
Thomas: geht halt auch nochmal doppelt so viel Traffic über die Leitung,
Thomas: es dauert auch nochmal doppelt so lange und
Thomas: extrahieren dauert ja auch nochmal,
Thomas: also extrahieren separat betrachtet
Thomas: ist halt auch etwas, was eine gewisse Zeit
Thomas: braucht von den ganzen Layern.
Thomas: Vollkommen möglich.
Andrej: Du optimierst deine Memory.
Andrej: Nice.
Andrej: Applikation braucht weniger Memory.
Andrej: Du haust dein Netzwerk komplett voll.
Andrej: Du haust deine Festplatten komplett voll.
Andrej: Also du hast halt einen Trade-off.
Andrej: Das finde ich richtig cool, weil diese blöden
Andrej: Best Practices, die bringen dir halt gar nichts.
Andrej: Wenn du zum Beispiel, wenn dein Problem tatsächlich
Andrej: ist, okay, wir haben jetzt keinen RAM mehr,
Andrej: weil RAM ist teuer, die ist das
Andrej: voll okay. Aber wenn RAM jetzt
Andrej: war ja vor ein paar Jahren noch nicht so teuer
Andrej: und Storage auch,
Andrej: dann sagst du halt, scheiß drauf,
Andrej: dann verballern wir ein bisschen mehr RAM und Storage.
Andrej: Aber dein Netzwerk ist halt nicht die ganze Zeit
Andrej: vollgeknallt mit den Image-Updates.
Andrej: Es ist halt,
Andrej: es ist so ein Trade-off jedes Mal.
Thomas: Und das jetzt bis runter auf dieser
Thomas: Ebene. Also, total.
Andrej: Ja, komplett.
Andrej: Ah, faszinierend.
Andrej: Sowas finde ich immer geil.
Thomas: Wer weiß, ich habe jetzt das
Andrej: Oh, interessant.
Thomas: das Rahmenverhalten von
Thomas: diesem Lipmüsel-Mellock über mehrere
Thomas: Tage beobachtet. Da war es ein nahezu
Thomas: konstanter Anstieg. Aber wer weiß,
Thomas: nach einer Woche, wer vielleicht
Thomas: hätte sich das auch irgendwann
Thomas: normalisiert.
Thomas: Also, Takeaway.
Thomas: Vielleicht auch mal, also wenn ihr irgendwas mit RAM habt, mit euren Applikationen, die ihr bei euch so zu Hause laufen lasst,
Thomas: müssen ja nicht nur die selbst geschrieben sein, das kann ja alles mögliche sein,
Thomas: vielleicht doch mal das Nicht-Alpine-Image testen.
Thomas: Kann halt schon mehr bringen, mehr bringen, als ich hier gedacht hätte.
Andrej: Ja, also ich sage immer,
Andrej: wenn es um Self-Hosting geht
Andrej: und man selber nicht so der Programmierer ist
Andrej: und auch generell,
Andrej: scheiß auf die Programmiersprache,
Andrej: die das Tool nutzt
Andrej: und nutze das Tool,
Andrej: um dein Problem zu lösen.
Andrej: So, wenn jetzt aber dein Host
Andrej: halt voll ist mit Memory
Andrej: und du kriegst das nicht mehr installiert,
Andrej: das heißt jetzt nicht,
Andrej: die Programmiersprache ist doof,
Andrej: sondern vielleicht doch mal
Andrej: das andere Image nehmen,
Andrej: anstatt ein Tool nehmen,
Andrej: was in einer anderen Sprache
Andrej: programmiert wurde.
Andrej: Lastest oder generell
Thomas: Und auch da wieder von den Abstraktionsebenen, es fängt irgendwo oben an,
Andrej: Performance. Es gilt nur für dich,
Andrej: für den einen Test und nur
Andrej: für die eine Hardware, die du da hast.
Andrej: Mehr ist es einfach nicht. Du kannst
Andrej: nichts vergleichen. Das ist echt schwer.
Andrej: Ich weiß noch, es gibt ja diesen allgemeinen,
Andrej: hat man bestimmt auch schon mal, allgemeinen Mythos,
Andrej: dass XFS schneller ist,
Andrej: im Vergleich zu Ext.
Andrej: Und dann weiß ich noch, dass unser Kollege
Andrej: mal ein paar Performance-Tests gemacht hat
Andrej: und ja, wie war es?
Andrej: Ext 4 war 20% schneller
Andrej: im Schnitt als XFS,
Andrej: in unserem Fall. Aber wenn wir das jetzt
Andrej: als Blogartikel veröffentlichen wollen würden
Andrej: für die Firma, dann müssten wir
Andrej: den gesamten Stack erklären. Ja, wir haben jetzt hier
Andrej: folgendes Dateisystem genommen.
Andrej: Wir haben übrigens darunter ein
Andrej: Ceph-Cluster, welches dann
Andrej: dieses Ceph-Cluster ist übrigens so aufgebaut,
Andrej: hat hier SSDs mit der und der Performance
Andrej: und dann hast du so eine Abhängigkeit, es ist null
Andrej: vergleichbar. Weil wenn du den gleichen Test machen würdest
Andrej: auf Hardware ohne eine Abstrahierung
Andrej: von Ceph oder anderen
Andrej: Storage-Layern wie NetApp oder so,
Andrej: ist es schon wieder null vergleichbar. Du musst einfach
Andrej: mit deinem Setup das machen.
Andrej: Und dann kann, und dann, ja genau.
Thomas: so von wegen, was ist das Dateienschema, was ich habe?
Thomas: Habe ich viele kleine Dateien oder habe ich wenige große Dateien oder irgendwas in der Mitte oder beides gewechselt?
Andrej: Mhm, naja.
Thomas: So, das macht schon einen Riesenunterschied
Thomas: mit den unterschiedlichen Dateisystemen.
Thomas: Aber dann geht es weit.
Thomas: Es geht schichtweise runter.
Thomas: Es ist ein bisschen wie, wenn du im Problem läufst,
Thomas: die Five Whys fragen.
Thomas: So in etwa musst du es auch mit den Abstraktionsschichten
Thomas: hier mal machen.
Thomas: Du guckst das mal auf einer oberen Schicht an
Andrej: Ja, sonst wird man ja nie fertig, ne?
Thomas: und dann gehst du vielleicht mal ein bisschen tiefer.
Thomas: Also man muss nicht so weit eskalieren, ne?
Thomas: Nur dann, wenn es sein muss, aber...
Thomas: Ja, ich fand das jetzt spannend.
Andrej: Das ist ja das Problem.
Andrej: Und siehst ja, wie unendlich das dann wird, ne?
Andrej: Mhm, stimmt, ja.
Thomas: Wahrscheinlich jetzt hier unter euch
Thomas: sind ja vielleicht auch ein paar alte C, C++
Thomas: oder sonst was hasen.
Thomas: für die ist das vielleicht alles keine News oder
Thomas: sonst was, alles ganz normal, aber
Thomas: wenn du halt über die
Thomas: Hochsprachen eingestiegen bist,
Thomas: ich glaube, früher hat man aber C
Thomas: auch als Hochsprache bezeichnet,
Thomas: heute würde ich das jetzt irgendwie anders machen,
Andrej: Ich glaube, Low Level war
Thomas: ja, dann
Thomas: ist das alles
Andrej: Assembly dann. Ja, aber finde ich auch
Thomas: nicht selbstverständlich,
Thomas: dann ist das spannend, da mal einzutauchen.
Thomas: Ja.
Andrej: cool, den Schluss daraus zu ziehen,
Andrej: dass man halt einfach mal das Debian-Image
Andrej: anstatt das Alpine nehmen soll.
Andrej: Vielleicht macht es auch gar keinen Unterschied, weil es ist
Thomas: Wobei Alpine halt auch, gerade weil
Andrej: egal bei dem Usage-Pattern, aber wenn man
Andrej: halt irgendwie mal ein Problemchen hat, vielleicht lohnt sich
Andrej: das. Und wie, ich glaube,
Andrej: wenig Entwickler von, was weiß ich,
Andrej: Paperless und so weiter,
Andrej: die es halt gibt für den Self-Hosting-Bereich,
Andrej: sind sich dem bewusst,
Andrej: was für einen krassen Impact das haben kann.
Andrej: Könnte ich mir vorstellen.
Andrej: Weil das PyPy war das,
Thomas: es so ein Ausreißer ist,
Thomas: weil es halt nicht die G-Lipsy verwendet,
Thomas: Das ist ja nicht üblich für Distributionen,
Thomas: dass sie das nicht tun. Ich weiß auch gar nicht
Thomas: die Argumentation dahinter. Ich denke mal, am Ende
Thomas: wird es irgendwie so ein Faktor sein, wie auch
Thomas: da wieder Größe oder so. Aber
Thomas: ja, Libby Yusel hatte
Thomas: und früher waren die Probleme wirklich noch
Thomas: relativ groß. Also gab es einen Performance
Thomas: Impact, den du beim Laufe hattest
Thomas: oder was ich erwähnt hatte bei Python, dass irgendwelche
Thomas: gewissen Dinge nicht so funktionieren
Thomas: wie in der G-Lib C und dementsprechend nicht so
Thomas: wie es halt sonst ist. Interessanterweise
Thomas: da, es gibt ja auch alternative Python
Thomas: Implementation. Es gibt ja auch einen JITEN,
Thomas: hört man heutzutage kaum noch von, aber
Thomas: früher war das mal ein größeres Thema.
Thomas: Oder es gibt das PyPy, Python in Python geschrieben,
Thomas: also Python in R, Python geschrieben
Thomas: und auch da, ne, merkt man,
Thomas: du hast nie die Garantie, dass die sich 100%
Thomas: identisch verhalten.
Thomas: Ja, das Interface ist gleich,
Thomas: aber, ja,
Andrej: was ich auch mal genutzt hatte beruflich.
Andrej: Dieses kompilierte Python.
Andrej: Ja, an anderen Gründen, ja.
Thomas: bei uns war das aus, genau,
Thomas: das war aus anderen Gründen, ne, weil wir
Andrej: Ja genau, für Ansible brauchst du,
Thomas: ein portables Python haben wollten.
Thomas: Und PyPy war portable, du hast
Thomas: das Kompilat und du kannst das irgendwo aus Starball
Thomas: ausrollen und dann kannst du da, ich glaube, wir haben es für
Thomas: Ansible gebraucht hat, also auf einem Flatcar.
Thomas: Du musst halt den Raw-Modus benutzen,
Andrej: für die Module brauchst du ja Python
Andrej: auf dem Betriebssystem.
Andrej: Und das hatten wir nicht,
Andrej: weil wir minimale Images hatten.
Andrej: Vielleicht gar.
Andrej: Aber bestimmte Dinge
Andrej: waren sehr, sehr, sehr komplex
Andrej: und teilweise auch gar nicht machbar ohne
Andrej: Python-Module in Ansible.
Andrej: Zum Beispiel ein Reboot. Ja, und das hat
Thomas: der kann, glaube ich, einfach nur normale
Andrej: überhaupt nicht funktioniert.
Thomas: Shell-Kommandos ausführen. Ich glaube, sonst hätten wir es
Andrej: Und dann Sessions aufhalten und warten.
Andrej: Nee, das hat überhaupt nicht funktioniert. Das war zu instabil.
Andrej: Und da haben wir dann einfach gesagt, ja gut, dann
Andrej: rollen wir so ein Python mal überall aus.
Andrej: Und so ein Precompiled ist, weil wir hatten
Andrej: halt keinen Package-Manager auf dem System.
Andrej: Das war praktisch.
Thomas: bauen müssen individuell für
Thomas: Flatcar und so haben wir es halt auch in das Flatcar-Image
Thomas: reingebacken, konnten es aber auch
Thomas: problemlos nachinstallieren, weil du halt im Grunde einfach nur
Thomas: das Tabor irgendwo ausrollen musstest.
Thomas: Das ist fertig.
Andrej: Ja, waren wir dementsprechend
Andrej: damals auch nicht bewusst, dass es da eine
Andrej: Eine precompilte Version von gab.
Andrej: Das ist ein Rabbit Hole, meine Herren.
Andrej: Na gut, ist das fertig, das Rabbit Hole?
Andrej: Oder hast du da noch was zu?
Andrej: Fertig, ja gut.
Thomas: Ja, das ist kurz, oder? Zack, zack, zack.
Andrej: Ich habe noch, warte mal, das ist,
Andrej: joa, willst du noch dein Metathema aufmachen?
Andrej: Okay.
Andrej: Nee, nicht deswegen.
Thomas: Mater.
Thomas: Genau. Also, erstmal du,
Thomas: Schwein, hast mich angesteckt.
Thomas: Weil, ähm,
Thomas: Ach Gott, was war denn da? Vor ein paar Tagen? Ich abends Podcast am Schneiden, dich angeschrieben und du meinst mal quatschen und klickst dir hier wild bei Ikea Dinge zusammen, weil die irgendwie eine 10% Aktion hatten oder so? Achso, weil du wirklich den Schrank brauchtest, ja?
Andrej: Ich hatte, ja, ja, ich wollte mir meinen Schrank erweitern,
Andrej: um ein Modul.
Andrej: Und das wollte ich sowieso schon mal,
Andrej: ich hatte das auch schon mal durchgeplant
Andrej: und alles durchgerechnet,
Andrej: deswegen war das auch relativ entspannt.
Andrej: Aber während ich dann bei Ikea rumgeklickt habe,
Andrej: Ich hatte sowieso im Einkaufswagen noch so ein paar Ikea-Matter-Geräte, so ein paar Fenster-offene Sensoren und die Temperatur-Trådfri.
Andrej: Und als ich diesen Temperatursensor gesehen habe, dachte ich so, und dann haben wir ein paar Tage vorher die Folge von Matter oder über Matter mit Ingo aufgenommen.
Andrej: Und dann habe ich so gedacht, diese ZigBee-Sensoren gehen mir gerade so auf den Keks, die Acara-Temperatursensoren in meinem Falle.
Andrej: Ja, das ist okay, weil
Andrej: A, diese Knopfzellen, die gehen
Andrej: also, die gehen ständig
Andrej: leer und haben, wenn ich
Andrej: die kaufe, komplett unterschiedliche Kapazitäten.
Andrej: Also es fühlt sich so an, als ob einige
Andrej: total schnell und einige total langsam leer gehen.
Andrej: Ich nehme an, das hat natürlich auch einen Effekt
Andrej: an wie weit, wie gut das Netz ist,
Andrej: wie weit sind die weg vom
Andrej: Koordinator an den Router, etc.
Andrej: Aber das, was mich am meisten nervt
Andrej: ist, dass der Batteriestand auch so
Andrej: komplett random ist.
Andrej: Also da steht da manchmal, ja noch 25
Andrej: Prozent und hat seit zwei Wochen nichts reported
Andrej: an irgendwelchen Daten. Ich bin so, warum?
Thomas: Furchtbar.
Andrej: Zum Geier.
Andrej: Ja, dann habe ich dann einfach, ich sehe das immer, wenn ich
Thomas: Ich habe ja so Hüsch-Switches, diese Lichtschalter mit den vier Knöpfen.
Andrej: eine gerade Linie in Home Assistant habe, weiß ich,
Andrej: oh, das Ding wieder, ne? Und häufig,
Andrej: mhm,
Thomas: Und wenn ich da die Batterie wechsle, dann ist der vielleicht zwei Wochen lang,
Thomas: zeigt der mir, der leuchtet nämlich jedes Mal, wenn du drückst auf,
Thomas: leuchtet der vielleicht zwei Wochen lang grün auf und ab da ist rot.
Thomas: Dann funktioniert das Ding noch ein Dreivierteljahr oder so.
Andrej: ja, ja und dann
Thomas: Aber das wird dann halt irgendwann unzuverlässig.
Thomas: Glaube ich auch.
Andrej: kann ich die häufig einfach nur wieder reconnecten,
Andrej: indem ich den Knopf drücke da drauf, aber es nervt mich.
Andrej: Und ja, dann dachte ich, ja gut,
Andrej: dann, und diese Knopfzellen, das ist echt
Andrej: schon viel Müll, ne? Die kannst du auch nicht
Andrej: wieder aufladen, gibt's ja nicht mehr, sind sehr klein.
Andrej: Ich glaube, es gibt keine Wiederaufladbaren, wäre auch ein bisschen
Andrej: hindert sich, glaube ich, bei der Menge. Aber weiß ich nicht.
Andrej: So gut, dann habe ich gesehen, ja gut, die Timberflotten
Thomas: Der alte SkyConnect, ja?
Andrej: sind jetzt auch nicht so teuer. Dann hatte ich, hm,
Andrej: vielleicht mal auf Matter umsteigen. Habe hier
Andrej: eh jetzt drei mittlerweile und ich bin sehr
Andrej: zufrieden mit den paar Geräten, die ich von
Andrej: Ikea habe. Obwohl ich eine kleine
Andrej: Pups-Antenne habe und den ersten
Andrej: Home System Zigbee damals noch
Andrej: Stick, der ja auch Meta kann. Genau.
Thomas: Bin gespannt.
Andrej: Der heißt jetzt, glaube ich, einer CBT-1.
Andrej: Weil der CBT-2 ist ja
Andrej: diese große Antenne. Und dann durch das Gespräch
Andrej: von Ingo und generell, wir hatten ja auch schon mal ein Gespräch
Andrej: über Meta. Da dachte ich, hm,
Andrej: sollte ich einfach mal wechseln und den ganzen
Andrej: ZigBee-Scheiß wegschmeißen, weil, nicht Scheiß,
Andrej: den ganzen ZigBee-Kram
Andrej: wegschmeißen, weil bei mir ist es halt ein bisschen
Andrej: eine Herausforderung, wenn das Thema ja schon mit diesen
Andrej: SM-Lights, das ZigBee-Netz
Andrej: runterzubringen. Du musst ja eine Treppe
Andrej: runtergehen oder ein Stockwerk
Andrej: mit ZigBee. Du kannst ja nicht einfach ein anderes
Andrej: Protokoll nehmen wie Ethernet und da jetzt ein ZigBee-Gerät,
Andrej: weil die Coins und Toren müssen
Andrej: miteinander sprechen können über das ZigBee-Netz.
Andrej: Die können nicht einen Protokollbruch machen.
Andrej: Was ich sehr, sehr
Andrej: sympathisch bei Metafilter. Du kannst einfach
Andrej: sagen, ja gut, dann ist halt in deinem Falle der
Andrej: HomePod oder per Ethernet angeschlossen
Andrej: und ich kann den da hinstellen, wo der hin muss
Andrej: und der macht dann da Thread.
Andrej: Oder Wifi. Thread in dem Falle.
Andrej: Ja, dann gucke ich so und
Andrej: habe mir dann mal durchgezählt
Andrej: die ganzen Acara-Sensoren,
Andrej: die ich so habe und habe die mal jetzt
Andrej: durch Meta-Sensoren
Andrej: von Ikea ersetzt. Die sind noch
Andrej: in der Bestellung und dann wollte ich jetzt
Andrej: mal testen, die einfach mal dadurch zu ersetzen.
Andrej: Ein weiterer Gedankenpunkt, den ich hatte, ist,
Andrej: Das ist ja alles 2,4 GHz.
Andrej: Das heißt, ich habe mein WiFi auf Kanal XY,
Andrej: einmal oben und einmal unten.
Andrej: Das heißt, ich habe ZigBee, Kanal XY,
Andrej: kann oben und unten.
Andrej: Und Matter, Kanal, was weiß ich, es wird eng.
Andrej: Und dann hat man ja noch Nachbarn und solche Sachen.
Andrej: Da dachte ich, ja gut,
Andrej: vielleicht versuche ich es mal komplett ohne ZigBee.
Andrej: Und vielleicht wird es dann besser.
Andrej: Ja, und jetzt hast du auch geklickt.
Thomas: Ja, ich hatte gar keine Motivation ursprünglich eigentlich,
Andrej: Ja, also ich muss sagen,
Thomas: Aber der Gedanke, das ging auch sehr schnell, der reifte innerhalb von Minuten, dass ich doch eigentlich auch mal mehr auf Meta setzen könnte, weil auch da, naja, ZigBee ist ja ein funktionierendes Protokoll an sich, das ist ja nicht das Problem, das Problem sind also im Grunde die Endgeräte, also bei mir halt größtenteils Akaras, die preis-leistungstechnisch gut waren, aber die halt vom Verhalten nicht immer zuverlässig sind.
Thomas: die fallen gerne mal aus bei mir.
Thomas: Dann ist irgendwie, okay, ja,
Andrej: das Einzige, was bei mir ausfällt,
Andrej: ich habe jetzt nur Bewegungssensoren.
Andrej: Ich habe die Temperatursensoren,
Andrej: die sind mir auch am wichtigsten.
Andrej: Und was habe ich da noch?
Andrej: Einen Katzenfutterautomaten, der Zigbee spricht.
Andrej: Das ist auch noch so ein Thema.
Andrej: Ja, das war es.
Andrej: Und die Knöpfe.
Andrej: Die Knöpfe.
Andrej: Die Knöpfe sind super.
Andrej: Die habe ich überall.
Andrej: Und ich muss sagen,
Andrej: dass ich einfach nur unzufrieden mit den Temperatursensoren bin.
Andrej: Die anderen sind eigentlich alle okay.
Andrej: Habe ich wenig Probleme mit.
Andrej: Wenn ich mal ein Problem hatte,
Andrej: dass mein Knopf nicht funktioniert hat,
Andrej: war es zu 99 Prozent,
Andrej: dass beim Zigbee2MQTT das Add-on abgeraucht ist
Andrej: oder weil ich da mal diese Ethernet-Probleme hatte
Andrej: und dass es auch dahin gegangen ist,
Andrej: weil der ZigBee-Stick nicht erreichbar war.
Andrej: Aber im Endeffekt ist bei mir der Schmerzpunkt
Andrej: nur die Temperatursensoren.
Andrej: Man könnte jetzt auch vernünftig seine neue Temperatursensoren kaufen
Andrej: und die Arcaris zu verkaufen,
Andrej: aber warum sollte man nicht die gesamte Infrastruktur darunter ändern?
Andrej: Ja.
Thomas: das reizt ja, die Zukunft
Thomas: zu setzen. Ich habe relativ
Andrej: Hätte ich nicht verstanden und verstehe ich bis heute nicht.
Thomas: häufig Probleme mit den
Thomas: Bewegungssensoren, weil das Licht hier, zumindest
Thomas: alles, was im Hausflur ist und auch so Abstellraum
Thomas: und so, also da ist das Licht
Thomas: mittlerweile gesteuert, alles über Bewegungssensoren.
Thomas: Mittlerweile war einer der ersten Dinge, ehrlich gesagt,
Thomas: die ich gemacht habe, die so Scham für mich
Thomas: ausgelöst haben.
Thomas: Ja, finde ich
Andrej: Getestet.
Thomas: total klasse. Ich habe es das letzte Mal ohne getestet,
Thomas: weil irgendwas war ausgefallen.
Thomas: wie so ein Höhlenmensch durch die Gegend gegangen,
Thomas: hab Lichtschalter betätigt. Das ging gar nicht.
Andrej: Es ist was ausgefallen und es ging mir auf den Keks.
Thomas: Ich hab mir dann gedacht,
Andrej: Ich habe das getestet.
Andrej: Das ist nervig.
Thomas: vielleicht sollte man wieder ohne
Thomas: Automation
Thomas: das machen, aber das hat sich nicht
Thomas: gut angefühlt. Naja, das Problem
Thomas: ist bei den Bewegungsmeldern, dass die hin und wieder
Thomas: mal einfach nicht mehr funktionieren.
Thomas: Und wenn du Glück hast, drückst du dann einmal
Thomas: auf den Knopf an der Seite, dann geht's wieder.
Thomas: Wenn du Pech hast, nicht. Manchmal muss ich sie
Thomas: neu pairen. Manchmal bleibt
Thomas: da, ja, kannst du wissen.
Thomas: Manchmal klappt das, während die quasi noch im
Thomas: Koordinator eigentlich noch gepairt
Thomas: sind, aber du startest dann auf dem
Thomas: Sensor das Pairing nochmal neu und das ist dann
Thomas: quasi automatisch einfach wieder da und funktioniert
Thomas: wieder. Manchmal geht das nicht und du musst komplett
Andrej: Ja, das ist auch mein Problem.
Thomas: neu pairen. Dann, oh nee, das ist
Thomas: so ein Rattenschwanz, das geht mir so auf die Nüsse.
Thomas: Guter, ja. Genau.
Andrej: Und zwar, ich habe ja theoretisch
Andrej: die, ich habe unten eine Philips, also
Andrej: oben ist mein ZigBee-Stick
Andrej: über Ethernet. Hier habe ich dann noch
Andrej: eine Philips-Hü, die das quasi
Andrej: weitergibt. Die ist auch immer im Strom.
Andrej: Dann habe ich unten noch den Katzenfutter-Automaten
Andrej: an der Treppe und auch eine Philips-Hü.
Andrej: Das heißt, theoretisch habe ich genug Router.
Andrej: Ich verwechsele das immer. Okay, der Koordinator ist der Kopf
Andrej: und Router sind ja Router, genau.
Andrej: Aber ich kann die halt nicht, ich muss
Thomas: Oh ja, das auch noch. Stimmt.
Andrej: immer zu dem blöden Stick gehen und die annähern.
Andrej: Das nervt mich so. Das heißt, so an dem
Thomas: Smart. Achso.
Andrej: Ort, wo die sind, muss ich dann
Andrej: das Teil wegnehmen, was dann irgendwie
Andrej: festgeklebt ist. Mittlerweile habe ich überall auch nicht
Andrej: mehr die Geräte selbst festgeklebt,
Andrej: sondern Dinge 3D gedruckt, wo ich die reintue
Andrej: und die sind dann dran geklebt.
Andrej: Nee, nervt mich. Warum muss das
Thomas: Ja, dafür hilft's.
Andrej: notwendig sein? Ja, es ist smart im Nachhinein
Andrej: auch.
Andrej: Ja, das stimmt. Aber der
Thomas: Weil ja, bei manchen ist es auch echt schwer,
Thomas: also manche sind super einfach aufzumachen.
Thomas: So der Motion-Sensor zum Beispiel.
Thomas: Das ist easy. Der Knopf ist kacke, genau.
Andrej: Knopf ist eine Katastrophe.
Andrej: Der ist richtig kacke. Ich habe so viele Cent- und Euro-Stücke
Thomas: Ja.
Andrej: und auch andere Währungen schon probiert. Ich habe auch schon
Andrej: was 3D gedruckt, um die aufzudrehen.
Andrej: Aber ich mache die immer
Andrej: ein bisschen kaputt.
Andrej: Du reißt halt ein bisschen Material ab von diesem Schlitz,
Thomas: Ich habe
Andrej: wo du halt die
Andrej: Münze rein tust. Und das
Andrej: geht nicht mehr lange gut.
Andrej: Du musst nur einen dummen Finden auf Kleiner sagen, der das kauft.
Andrej: Aber ist ja okay.
Andrej: Ja, die ist wirklich klein. Ein Kilo Heißkleber.
Thomas: von den Bewegungsdingern, die habe ich teilweise
Thomas: einfach so an die, die sind ja super klein,
Thomas: also das ist ja wirklich toll, die habe ich irgendwann
Thomas: an die Decke geklebt mit so einem,
Thomas: ja, weiß ich nicht, wie heißen die?
Thomas: Patafix oder sowas. Ne, ne, ist schon
Andrej: Achso.
Andrej: Man muss auch sagen, die Preise von den Dingern
Thomas: so, dass man es eigentlich wieder ablösen könnte.
Thomas: Aber wenn du da mit einer gewissen
Thomas: Kraft dran drehst, um das aufzumachen und dabei
Thomas: vielleicht vom Sockel abrutscht oder sonst was,
Thomas: habe ich mir halt auch schon Stücke Tapete damit abgerissen.
Thomas: Das war dann jetzt nur so semi-cool.
Thomas: Naja, okay, was ist passiert?
Thomas: Ich habe jetzt auf jeden Fall auch schön bestellt.
Thomas: Ich habe überlegt, wo habe ich überall Fenstersensoren dran und so weiter.
Thomas: Oder Bewegungsmelder und habe dann nochmal bei Ikea in die Grabbelkiste gegriffen und zugelangt.
Thomas: Ja, die sind allesamt deutlich günstiger als die Kara-Komponenten sogar, ne?
Andrej: sind wirklich cool. Total fair.
Andrej: Ja, also ich hab mal geguckt.
Thomas: Ja, ich habe jetzt, also erstmal die Frage,
Andrej: Also ich hab erstmal geschaut.
Andrej: Ich fand den Bewegungsmeter von Ikea
Andrej: sehr groß. Aber cool...
Andrej: Vorteil, halt dreifach A Batterien.
Andrej: Super easy, aufladbar.
Andrej: Kannst du immer ein paar überhaben im Haus.
Andrej: Und ich habe von Ikea so ein
Andrej: Ladegerät, das sieht aus wie so ein Buch.
Andrej: Da sind immer Batterien drin, die sind am Laden.
Andrej: Und wenn ich die brauche, dann tausche ich die durch.
Andrej: Dafür ist das Gerät halt recht groß.
Andrej: Und ich habe geguckt, was kostet denn das Ding von
Andrej: Acara, das Sweat-Teil.
Andrej: Hui! 23 Euro
Andrej: versus unter 10 von Ikea.
Andrej: Hm, das
Andrej: fand ich dann doch schon heftig.
Andrej: Was kostet ein MYSK? 7,99 Euro.
Andrej: Und der neue Aqara war, glaube ich, Bewegungsmelder P2, heißt der, glaube ich, ne?
Andrej: 38 Euro fast.
Thomas: Ja, ist er bei Ali für 15? Als ich geschaut habe, war er teurer auch bei Ali. Gehst auf Ali, klickst auf die Suche, schreibt er dir Strapse Set Dessous.
Andrej: Gut, kannst du bei Ali für 15 holen, aber trotzdem krass.
Andrej: Kann auch die erste Version gewesen sein, was da hier ist.
Andrej: Ja, das sieht nach ZigBee aus. Das ist ZigBee, ja.
Andrej: Die Suche ist, ach, die kannst du auch komplett in den Pfeil verrauchen.
Andrej: Netzteil, ja, hier sind Netzstrümpfe.
Thomas: Okay. Close enough. Ja. Okay. Ja. Ein paar. Ich habe ein paar festgestellt. Aber bevor wir da eintauchen, du meintest gerade Akkus. Betreibst du sie mit Akkus? Hast du so viele 3A's und wenn ja, welche?
Andrej: Okay.
Andrej: Ne, also preislich ist das halt keine Frage, ne?
Andrej: Aber dafür der Nachteil.
Andrej: Eneloop.
Thomas: Okay, mit denen habe ich auch die besten Erfahrungen gemacht, aber wenn du erstmal so, weiß ich nicht, 20 Sensoren oder so in der Bude verteilst mit den Dingern, ist natürlich die initiale Anschaffung von den Eneloops auch nicht zu vernachlässigen, ne?
Andrej: Ja gut, ich habe ja aktuell eine Leuchte.
Thomas: Okay, weil ja, die Fenstersensoren brauchen glaube ich eine AAA. Das ist wahrscheinlich easy. Die Bewegungsmelder 2, ja, ich habe gelesen, die wären wohl wie die Eneloop Pro. Das heißt, die Eneloop Pro haben ja auch den Effekt, dass sie nicht so häufig nachladbar sind.
Andrej: Nee, ich habe noch nichts mit Batterie von Ikea gerade.
Andrej: Aber Ikea hat ja auch tatsächlich seine eigene Batterie.
Andrej: Kannst du kaufen, ob dir was taugt.
Andrej: Die haben mehr Kapazität pro Ladung, aber nicht so häufig nachladbar.
Thomas: Da habe ich zumindest die These gelesen, ich meine, das war halt von irgendeinem User im Netz, der meinte, das verhält sich eher wie eine NLU Pro, ob das jetzt so stimmt oder nicht, kann ich nicht beurteilen.
Andrej: Scheiße, hätte ich so mitbestellen sollen.
Thomas: Die sind aber auf jeden Fall eine gute Ecke günstiger, wenn ich das recht in Erinnerung habe.
Thomas: Die Lada, oder wie die heißen, ne?
Thomas: Ja, Lada.
Andrej: Naja, Eneloop ist nicht so günstig.
Thomas: Was haben wir denn da?
Thomas: 3A, ein 4er Set für 5 Mark.
Thomas: Ja, da bist du nämlich schon beim 4er Set für 13.
Andrej: Okay, scheiße, muss ich doch nochmal bei Ikea bestellen.
Thomas: Verdammt, ja, lohnt sich vielleicht doch noch.
Andrej: Ja, Mist, da habe ich nicht dran gedacht.
Thomas: Stimmt.
Thomas: Ich glaube, Amazon hat auch eine Eigenmarke, die auch so ein bisschen Eneloop-artig sind.
Andrej: Ja, werde ich mal schauen.
Thomas: Vielleicht ist da was bei.
Thomas: Amazon hat zumindest ein 16er-Pack Akkus für irgendwie 11 Euro.
Thomas: Aber ob das jetzt die guten sind?
Thomas: Ja, ist auf jeden Fall charmant, dass man Akkus reintun kann.
Andrej: Erstmal muss ich durchzählen, wie viel ich brauche.
Andrej: Werden wir machen, wenn ich die Geräte habe.
Andrej: Ja, und ich habe halt einen Einladungsfall.
Thomas: Da bin ich ganz bei dir.
Thomas: Momentan habe ich erstmal noch normale Batterien reingetan, so für die erste Runde.
Thomas: Auch weil ich gespannt bin, wie lange die wohl halten werden.
Thomas: Weil ja, diese Knopfzellen, da macht man ja sehr unterschiedliche Erfahrungen.
Thomas: Da bin ich ganz bei dir.
Thomas: Manche, die steckst du rein und die sind sofort wieder leer.
Thomas: Ah, lustig.
Andrej: Ich habe so einen Agara-Temperatursensor draußen,
Andrej: auch im Winter.
Andrej: Und da hast du eine Knopfzelle.
Andrej: Da sehe ich, dass die Temperatur killt.
Andrej: Und da hoffe ich, dass ich mit den Dreifach-A-Batterien
Andrej: ein bisschen besser fahren kann,
Andrej: weil die halt doch schon mehr Kapazität haben.
Andrej: Und das ist auch immer lustig.
Andrej: die Knopfzelle regeneriert
Andrej: wieder oder hat halt
Andrej: dann mehr Strom, wie nennt man
Andrej: das? Stromstärke, wenn
Andrej: der Sommer wieder anfängt, wenn es Frühling wird.
Andrej: Wenn es wärmer wird, siehst du, wie die Batterie auf einmal
Andrej: so von 10 auf 20 Prozent geht.
Andrej: Das ist echt
Thomas: Das siehst du dann sogar im Monitoring.
Andrej: lustig. Ja, genau.
Thomas: Im Sensor.
Thomas: Ja, spannend.
Andrej: Ich glaube, die zeigen ja immer, wie viel Volt
Andrej: die noch schaffen. Und
Andrej: dann hoffe ich mir, dass das neue Home Assistant
Thomas: Ja, das hoffe ich auch.
Andrej: Dashboard für Maintenance halt dann
Andrej: mir auch ein bisschen mehr Hilfe gibt.
Andrej: Da siehst du ja alle Geräte, die eine Batterie nutzen.
Thomas: Uns hatte irgendwann mal ein Hörer geschrieben,
Andrej: Das Problem ist, es bringt halt nichts,
Thomas: es gäbe dieses, ich glaube es hieß
Thomas: Battery Plus Hux Addon.
Thomas: Das habe ich bei mir auch installiert.
Thomas: Aber, nee.
Andrej: wenn die Batterie halt nichts aussagt.
Andrej: Wenn der Prozentwert einfach heißt,
Andrej: könnte jetzt morgen leer sein oder in einem halben Jahr.
Andrej: Das bringt ja gar nichts.
Thomas: Das war eher gut für die Information,
Andrej: Ist das, ich glaube, bei den Meta-Geräten
Thomas: dass es Community getrieben,
Thomas: was für eine Batterie in was für einem
Thomas: Device drin steckt. Das heißt, er zeigt dir halt
Thomas: einfach als Sensor an, das ist eine
Thomas: 3A-Batterie oder sowas. Oder eine
Thomas: Knopfzelle Y4
Thomas: 3.0 oder so.
Thomas: Ich hab's bei den Ikea-Sensoren zumindest gesehen,
Andrej: ist das, glaube ich, in der Payload mittlerweile drin, oder?
Andrej: Okay, weil ich habe ja noch keine mit Batterie.
Thomas: ja. Finde ich mega.
Thomas: Und dann gibt's bei dem Battery Plus noch die Möglichkeit,
Andrej: Ah, okay.
Thomas: dass du mit
Thomas: einem Button-Druck, also der fügt
Thomas: dir quasi eigene Entitäten an deine
Thomas: Devices an. Kannst du durch Button-Druck
Thomas: noch zum Beispiel sagen,
Thomas: wurde replaced. Also ist quasi auch
Andrej: Ist voll.
Thomas: ein Logbuch gleichzeitig. Ich hoffe mir,
Thomas: Home Assistant macht das auch in so einem
Thomas: ähnlichen Umfang. Aber ich muss sagen,
Thomas: diese Integration, da gab es
Thomas: Faktoren, die mich gestört haben. Ich weiß nur leider
Thomas: nicht mehr welche. Also ich nutze es nur so
Thomas: sehr oberpflichtig bis jetzt.
Thomas: Aber vom Funktionsumfang an sich
Thomas: gibt es genau das, was man braucht oder haben
Thomas: will. Um wirklich einen Überblick
Thomas: zu haben, wann habe ich die Batterien getauscht.
Thomas: Sollte man ja auch erkennen können, wenn die,
Thomas: wie beim Auto, du tankst und
Thomas: äh, nein,
Andrej: Ach, du meinst den Tageskilometerzähler.
Thomas: wenn du losfährst, sagt Auto,
Thomas: Tank ist voll, soll ich den
Thomas: Kilometerstand resetten? Ja,
Thomas: War da erkannt. Macht ja auch Sinn.
Thomas: Ist ja plötzlich viel voller.
Thomas: Kann man ja da auch im Grunde machen.
Thomas: Ja, dann kann Home Assistant ja sagen,
Andrej: Ja, okay.
Andrej: Ja, die Roadmap ist offen. Feature-Request.
Thomas: ja, guck mal hier, Batterie anscheinend gewechselt.
Thomas: Bestätigen. Jo.
Thomas: Und zack, ist es im Protokoll drin.
Thomas: So hätte ich das gerne.
Thomas: Ja, da sagst du was.
Thomas: Was hatte ich denn? Genau. Batterie ist
Thomas: super spannend.
Thomas: Ich hatte ein Thema bei mir.
Thomas: Ich hatte noch ein paar... Also meine Bestellung ist auch noch
Thomas: nicht da. Die kommt jetzt erst die Tage an.
Thomas: Aber ich hatte beim letzten Mal schon ein bisschen
Thomas: mehr geklickt, als ich sofort
Thomas: verbaut hatte.
Thomas: Da hatte ich noch zwei Bewegungssensoren, die Mücksprays.
Thomas: Und
Thomas: hab die jetzt mal montieren wollen, an Stellen,
Thomas: wo vorher noch Akara waren.
Thomas: Dazu hatte ich das Problem,
Thomas: was du schon meintest, die Dinger sind halt
Thomas: leider relativ groß.
Thomas: Und an manchen Stellen,
Thomas: ganz am Anfang, als ich in einem
Thomas: Raum einen hinstellen wollte, wollte ich ihn wirklich hinstellen.
Thomas: Ich wollte ihn nicht an die Wand schrauben.
Thomas: Wir leben hier in einem Altbau aus dem 19.
Thomas: Jahrhundert. Die Dinger sind
Thomas: ja schon universell designt, die haben
Thomas: ja hinten einen, also zum einen kannst
Thomas: du kleben, da sind ja Klebpäckchen bei,
Thomas: zum anderen haben die ja hinten so einen
Thomas: Schlitz, wo du eine Schraube rein
Thomas: schrauben kannst und seitlich
Andrej: Wenn ich, also nicht in dieser Bude, aber davor.
Thomas: für 90 Grad Winkel.
Thomas: Ich kann dir an keinen Händen
Thomas: zusammenzählen, wie viele 90 Grad
Thomas: Winkel ich hier habe.
Thomas: Ja,
Andrej: Wenn du so ein Bett an der Kante anziehst und denkst so, hä?
Andrej: Warum müssen die jetzt da finden?
Andrej: Warum habe ich das so?
Andrej: Ach echt?
Thomas: also ist das Problem schon mal,
Thomas: die Halterung kann ich nirgendwo verwenden. Was gut
Thomas: ist, woran man da vielleicht nicht rechnet,
Thomas: Du kannst dich auch hinstellen, die stehen relativ kippfrei, die sind so leicht nach hinten getiltet, das funktioniert auch.
Andrej: Wusste ich nicht.
Andrej: Ich dachte, die kippen sofort um.
Andrej: Ich habe auch eins gefunden, aber noch nicht gedruckt.
Thomas: Du musst also nicht unbedingt einen Ständer dir zum Beispiel drucken, der irgendwo für einen Tisch oder so, wenn du es sowieso auf den Tisch stellst, die halten auch so.
Thomas: Aber wenn du dir den irgendwo hinschrauben möchtest, da habe ich ein cooles Modell gefunden, das muss ich nachher mal in die Shownotes reinpacken.
Thomas: Ist das das mit dem Kugelgelagerten sozusagen?
Andrej: Nee, das weiß ich nicht.
Thomas: Ne, nicht gelagert.
Thomas: Wie heißt denn das?
Thomas: Ballpin hier, Gedöns.
Thomas: Wo du es drehen kannst nachher.
Andrej: Ich nicht wissen.
Thomas: Okay, du nicht wissen.
Andrej: Ja, aber schade, dass du einen 3D-Drucker brauchst, um das Ding hinzustellen.
Thomas: Ich habe auf jeden Fall dieses Modell gefunden auf MakerWorld.
Thomas: Und apropos MakerWorld, beim nächsten Mal.
Thomas: Hinstellen geht ja so.
Andrej: Okay.
Thomas: In Schrauben wird ja schwierig.
Thomas: Nächstes Mal müssen wir mal noch das Bamboo-Thema vielleicht mal ansprechen.
Andrej: Ah, jetzt habe ich es ja gefunden.
Thomas: Aber auf MakerWorld jedenfalls.
Thomas: Und da gibt es nämlich so eine Wall-Mount-Bracket.
Thomas: und das Ding ist so designt, dass
Thomas: du einen Teil hinten an die Wand schraubst
Thomas: ich schick's dir mal kurz
Thomas: du schraubst es also an die Wand
Andrej: Das zweite, was ich...
Andrej: Okay, okay, okay.
Andrej: Verstehe.
Thomas: und da ist eine Kugel
Thomas: dran und dann hast du den anderen Teil, den klemmst
Thomas: du an den Sensor und
Thomas: kannst das dann auf die Kugel setzen und drehen
Thomas: das ist das und das ging ja mit den
Thomas: alten, also mit den Akaras geht das ja auch
Thomas: du hängst die irgendwo hin, du kannst den Kopf
Thomas: einfach so drehen, du kannst die noch in irgendeine Richtung beugen
Thomas: und das kannst du im Grunde mit dem
Thomas: nicht ganz so flexibel, aber auch
Thomas: Und das fand ich sehr cool.
Thomas: In eine Richtung tilten und in alle Richtungen drehen.
Andrej: Der Akara ist aber auch nicht ganz
Andrej: 100 Prozent, weil du kannst ihn ja nur
Andrej: einen, der hat ja so einen Schlitz nur.
Andrej: Ist kein Kugelgelenk.
Andrej: Ja, gut, muss man beachten.
Thomas: Und das ist bei dem, der ist einfach eingeschränkter vom Winkel her.
Thomas: Vielleicht gibt es da auch Optimierungspotenzial.
Thomas: Ich kann nur auf jeden Fall empfehlen.
Thomas: Ich bin ja jemand, der gerne auch auf die Stabilität der Dinge achtet.
Thomas: Das muss hart reingeklippt werden.
Thomas: Das Originalmodell hat zwei Wall, wie nennt sich das, Outer Walls.
Thomas: Wie zu erwarten, mit Reihen ist das deutlich schwieriger.
Thomas: Egal.
Thomas: Genau, das heißt, du schraubst ein Teil an die Wand, dann hängst du das Ding dran und dann kannst du es in Richtung drehen.
Thomas: Das ist cool, weil dann hast du das 90-Grad-Winkel-Problem nicht mehr und du kannst den halt wirklich auch so ein bisschen justieren.
Thomas: Wenn der zum Beispiel relativ weit oben hängt, kannst du den ein bisschen runter gucken lassen, weil der Winkel ist eingeschränkter als der bei den Akaras.
Thomas: Und was ich jetzt rausgefunden habe, auch nicht nur der Winkel, sondern auch die Distanz ist deutlich eingeschränkter als bei den Akaras.
Thomas: Also wenn die Tür bei uns offen stand, ist der Sensor wahrscheinlich so vier Meter weit entfernt oder so.
Thomas: Und wenn die aber offen stand und ich quasi einen Meter vor der Tür war,
Thomas: hat er mich schon erkannt, der Akara-Sensor.
Thomas: Also quasi so auf fünf Metern.
Thomas: Der Ikea-Sensor, der wartet, bis ich so auf dreieinhalb oder drei bin.
Thomas: Ich hatte damals, ich hatte mal was in der,
Andrej: Die sind ein bisschen anders alle. Kann man die konfigurieren?
Andrej: Also Akara ja, oder?
Andrej: Ja, keine.
Thomas: du kannst bei den Akaren zumindest sowas einstellen,
Thomas: wie lange, zumindest über ZigBee2MGTT,
Thomas: wie lange der Bewegungszeitraum gemeldet bleiben soll.
Thomas: Das ist nämlich ein zweites Problem mit den MyxBays.
Thomas: Ich hatte aber in dem MyxBay, in der tollen Ikea-Anleitung,
Thomas: wo immer so viele Worte verwendet werden, um Dinge zu beschreiben,
Thomas: konnte ich sehen, das sind zwei Zeichnungen.
Andrej: Ja, das ist der Nachteil
Thomas: Die eine ist breit und kurz, also breiter Abstrahlwinkel oder Einstrahlwinkel,
Thomas: kurze Distanz und der andere ist schmal und weit.
Thomas: Aber ich kann nichts einstellen, ich habe keine Ahnung.
Thomas: Ich glaube, die Dinger können auch noch ZigBee und vielleicht geht es dann damit, was weiß ich.
Thomas: Die Sache mit den Quirks und so, oder Custom, irgendwas.
Andrej: bei Meta,
Andrej: dass es gibt mittlerweile viele
Andrej: Produkte auf dem Markt, die mit ZigBee
Andrej: halt viel mehr können als mit Meta, weil bei Meta
Andrej: muss es ja erst definiert sein und charakterisiert sein,
Andrej: bevor das überhaupt geht.
Andrej: Ja, das, was wir mit dem gesprochen haben im Endeffekt,
Andrej: das ist der Vorteil halt.
Andrej: Da kann der Hersteller einfach irgendwas auf den Markt bringen
Andrej: und implementiert das einfach in Zigbee,
Andrej: schleppt aber auch ein Meta-Logo dran,
Andrej: aber die sind nicht mal ansatzweise feature-kompatibel. [OK]
Andrej: Ach, guck mal, und der eine Vorteil,
Thomas: Könnte sein, dass das hier der Fall ist.
Thomas: Also gerade das mit der Distanz ist schon ein bisschen schade.
Thomas: Jetzt kein wirklich großes Problem an der Stelle, aber ein bisschen schade ist es schon.
Thomas: Aber der Wallmount, das finde ich super.
Thomas: Du musst zwar die hintere Abdeckung abnehmen, damit du den montieren kannst.
Thomas: Somit, wenn du ihn seitlich siehst, sieht er nicht ganz so sexy aus, aber super praktisch.
Thomas: Und da habe ich mir dann auch jetzt mal gedacht, okay, diesmal jage ich auch wirklich eine Schraube in die Wand, um das Ding zu befestigen.
Thomas: Nicht nur Kleber an Tapete.
Thomas: Weil was auch immer da später mal ein anderer Sensor kommt,
Thomas: dann wird halt ein anderer Halter gedruckt,
Thomas: der auch mit einer Schraube befestigt wird.
Thomas: Dann einfach in dasselbe Loch rein.
Thomas: Das ist dann halt einfach so.
Thomas: Ja.
Thomas: Stimmt.
Andrej: den kannst du tatsächlich auch noch draußen benutzen,
Andrej: den Mix Pro.
Andrej: Jetzt mit dem Aqara nicht.
Thomas: Der hat diesen Batterieabdeck-Deckel.
Andrej: IP67.
Andrej: Schon klein, ne?
Thomas: Ja, das stimmt.
Thomas: Ja.
Thomas: Eine Sache bin ich noch gespannt.
Thomas: Ich habe ja hier Velux-Fenster.
Thomas: Und an den Velux-Fenstern diese Acara-Fenstersensoren.
Thomas: Wir hatten mal Handwerker hier, die mussten aus dem Fenster raus.
Andrej: Nee, das ist Quatsch.
Thomas: Und dann flog mir der Acara-Sensor irgendwo entgegen, weil die das Fenster halt einmal gedreht haben.
Thomas: Und dann knallte der Sensor weg.
Thomas: Der Vorteil ist, du kannst die ja abnehmen.
Thomas: Die haben ja den Sockel, der ist angeklebt an den Rahmen zum Beispiel.
Thomas: Und der Teil, der eigentliche Sensor mit der Batterie, der ist da nur reingeklipst.
Thomas: Das heißt, du kannst den abnehmen, wenn du das antizipierst, dass da jemand kommt, der das Fenster einmal um den ganz gerade dreht.
Thomas: Dann kannst du dich darauf vorbereiten, was ja zur Reinigung auch praktisch ist, darf man ja auch nicht vergessen.
Thomas: Das haben die Ikea-Dinger ja nicht.
Thomas: Die werden ja direkt auf irgendwas draufgeklebt und dann sind die aber auch fest.
Thomas: Oder? Lügig? Du musst ja auch die Batterie wechseln. Ist ja Quatsch.
Andrej: Die Ikea, wie heißen sie?
Andrej: Du hebst die auf, dann hast du so einen Schlitten,
Thomas: Träumchen. Ja, ein Problem weniger.
Andrej: da ist reingeklickt und dann musst du noch so eine Abdeckung haben
Andrej: und dann ist da eine Batterie drin.
Andrej: Da war der hier Stoß.
Andrej: Das können wir doch nicht machen im Podcast.
Thomas: Ja, das ist Frage.
Andrej: Aber mich würde trotzdem interessieren,
Andrej: ich habe jetzt gerade mal die Anleitung aufgemacht
Andrej: von dem Myxpray, den Kollegen Bewegungsmelder
Andrej: und da sehe ich auch so ein Bild mit den einmal 60 Grad und 120 Grad.
Andrej: Zwei Bilder im Endeffekt.
Andrej: Ja, wie stelle ich das denn ein?
Thomas: Ingo, Hilfe!
Andrej: Ja, 60, ich gucke mal, 60 Grad.
Andrej: Machen wir Degree.
Andrej: Was ist das, 120?
Andrej: Ah, Field of View heißt das, FOV.
Andrej: Ja, MYSK Pro Field of View.
Andrej: Die erste Antwort bei Reddit ist so,
Andrej: yeah, I don't get this one either.
Andrej: Oder heißt das einfach nur,
Thomas: Die hätten ja auch irgendwo, keine Ahnung,
Thomas: Proti oder so anmachen können.
Thomas: Von mir aus stelle ich das auch nur einmal ein, aber
Thomas: irgendwie was einstellen wäre schon gut.
Thomas: Aber das hätten sie gut auch mit einer
Andrej: wenn du den 120 Grad Winkelabbereich hast,
Andrej: dass der ab 5 Meter dich erkennt,
Andrej: weil links und rechts,
Andrej: wenn du aber den 100,
Andrej: Moment mal. Es gibt ja 60 Grad und 120 Grad.
Andrej: Ja, das ist durchaus richtig.
Thomas: Grafik gemacht.
Andrej: Also eine kombinierte Grafik wäre da sinnvoller gewesen, weil so erzeugt das für mich, so wie für dich auch, die Intention, als ob das irgendwie konfigurierbar wäre.
Thomas: Irgendwann
Andrej: Oder, oder, wenn der Raum kleiner ist, also wenn der Sensor erkennt, dass da eine Wand ist, die fünf Meter entfernt ist, wie in dieser Zeichnung, dann geht der automatisch an einen breiteren Winkel?
Thomas: wird das Rätsel.
Thomas: Oh, Smartness. Okay.
Andrej: I don't know.
Andrej: Okay.
Thomas: Das gilt es zu klären. Irgendwie.
Thomas: Ich freue mich trotzdem ein bisschen auf die neuen Geräte.
Thomas: Auch die Schalter und so, weil diese
Thomas: Akara-Buttons sind auch nicht so sexy.
Thomas: Ich wünsche mir noch einen einen.
Thomas: Ja, die sind okay, aber
Thomas: ja, manche haben sich bei mir so ein bisschen
Thomas: verklemmt. Also die lassen
Thomas: sich nicht mehr so gut drücken.
Thomas: Und wenn du das einmal drückst, ist meistens kein Problem,
Thomas: aber wenn du diesen Doppeltap
Andrej: Da habe ich noch, das passt ganz gut, ich habe ja noch das Thema Kind vs. Smart Home. Kind hat auf jeden Fall 2 Null Grad, also liegt zwei Punkte vor. Ja, wir hatten auch so ein Knöpfchen am Bett für die Bettheizung, für Licht aus, Rollo, Ventilator an, aus, nachts, weil da willst du nicht die App bedienen und so ein Quatsch, ne?
Thomas: drauf machst, dann entsteht da eine
Thomas: gewisse Ungenauigkeit. Oh ja.
Thomas: Was?
Thomas: Sicher, das ist das Kind,
Andrej: Ja, schade. Seitdem man doch da ein bisschen mobiler unterwegs ist und hier überall rumkrabbelt und läuft, ohne dass sich irgendwo festhält. Ja, den Knopf musste ich jetzt weglegen. Wenn es dann um vier Uhr nachts da manchmal wach wird und dann da irgendwie rumhaut und dann hat es den Knopf entdeckt und beißt da dann rum.
Andrej: Ich muss dir mal ein Foto schicken von dem Bewegungssensor, den ich an der Tür habe, bei unserer Eingangstür, der ist komplett kaputt zerbissen. Ich habe irgendwann mal, ja, 100 Prozent, weil ich höre nur so, wie sie auf einmal ruhig war und war eine Haustür am rummachen, ja gut, vielleicht fummelt die da in den Schuhen rum oder so, ja, aber der Bewegungssensor ist ungefähr so Kniehöhe, würde ich jetzt mal sagen, vielleicht ein bisschen niedriger.
Thomas: wa?
Thomas: Ah ja.
Andrej: Und ja, da ist das Plastik jetzt kaputt gebissen und die Folie, die auf dem Bewegungsmelder ist, diese halbtransparente. Und dann sehe ich die Kleine da am Raum weiß ich so, was geht denn hier ab? Also es ist zu 100% meine Tochter gewesen.
Thomas: Du musst dir
Andrej: Ja, die hat die. Ach so, ich glaube, da ist der egal. Ja, das heißt, ich muss jetzt schon einen Knopf, die Knöpfe an dem Bett sind jetzt erstmal weg, die sind jetzt in der Schublade. Das ist auch doof, weil jetzt können wir nicht mehr, wir beide die Knöpfe benutzen oder nur ich, weil geht halt nicht, ne?
Thomas: dieses Bitter, Bitter
Thomas: Beschichtung besorgen.
Thomas: die es für die Batterien gibt, ne?
Thomas: Alles in Bitterbeschichtung einschmieren.
Thomas: Hm, bitter.
Thomas: Ei, ei, ei.
Andrej: Weil sie findet die Dinge halt, die kann die auch aus der Halterung, die ich 3D gedruckt habe, rausziehen und dann kaputt beißen.
Andrej: Toll, ne?
Thomas: Ja, okay, das heißt, bei euch ist jetzt das Zeitalter
Andrej: Also das Kind hat bisher gewonnen.
Andrej: Es gibt noch einen Knopf, den habe ich am Tischbein unseres Esszimmertisches.
Andrej: Und den hat sie jetzt auch gefunden, aber Gott sei Dank kommt sie da nicht mit dem Mund ran.
Andrej: Der ist ein bisschen zu hoch.
Andrej: Oder anders, ihr Kopf, der Knopf ist so hoch an der Tischkante, dass der Kopf im Weg ist, um da rein zu beißen.
Thomas: von NFC-Tags dann erreicht.
Andrej: Nee, nee, auf gar keinen Fall.
Thomas: Du musst alles mit deinem Handy
Thomas: und NFC-Tags machen.
Andrej: Ja, und den, wie heißt der,
Thomas: Ja, schade.
Andrej: Albstucker, diese Uhr-CO2-Geschichte,
Andrej: die hatte ich so schön rechts am Fernseher,
Andrej: dass wir immer die Uhrzeit im Blick haben.
Andrej: Ist auch sehr dezent, ne?
Andrej: Muss nicht wegstellen.
Andrej: Geht nicht mehr.
Andrej: Es leuchtet.
Andrej: Ja, wir haben ja auch diese,
Thomas: Es leuchtet.
Thomas: Ja, stimmt.
Andrej: manche Spielmaschinen projizieren ja so ein Bild nach unten,
Andrej: auf die Fliesen oder so,
Andrej: um zu zeigen, was für ein Modus gerade ist.
Thomas: Es wird challenging.
Andrej: Ja, das ist völlig faszinierend.
Andrej: So ein Mini-Bildschirm, der nichts hat,
Andrej: und wird die ganze Zeit reingegriffen.
Andrej: Also jetzt muss ich mir echt ein bisschen überlegen,
Andrej: wo ich die Smart-Sachen halt drin fülle.
Andrej: Ja, also Smart Home hat er bisher verloren.
Thomas: Kind gegen Smart Home.
Andrej: Ich habe mal irgendwo so einen Blog-Artikel oder so gelesen,
Andrej: wo so ein Typ, oder bei Reddit im Home Assistant,
Andrej: vielleicht kann das auch gewesen sein,
Andrej: wo so ein Typ irgendwie gesagt hat,
Andrej: ich habe das erste Mal mit meinem Smart Home
Andrej: gegen meinen Sohn gewonnen oder so.
Andrej: Und das war irgendwie nach dem Motto,
Andrej: wie war das, wenn der nicht den ersten oder zweiten Wecker hört,
Andrej: dann geht so und so viel Musik an
Andrej: und in der dritten Stufe hat er irgendwie,
Andrej: so einen Motor oder sowas
Andrej: an sein Bett befestigt, dass die
Andrej: Matratze, es gibt ja so Matratzen
Andrej: oder so Blatten, aus denen du die so hoch und runter
Andrej: steuern kannst, wie im Krankenhaus.
Andrej: Das ist das Ding, das halt
Andrej: wieder hochfährt und dann beide, Kopf
Andrej: und Beine hoch, dann kannst du eh nicht
Andrej: drin pennen, wenn du so in einem U drin bist.
Andrej: Und seitdem ist das wohl entspannter geworden
Andrej: mit der morgendlichen Aufstehroutine.
Andrej: Ja, Kind versus
Thomas: Ja, ich glaube, das wird ein etabliertes Format.
Andrej: Smart Home. Ja, auf jeden Fall, wenn es da neue
Andrej: lustige Sachen gibt, erzähle ich da gerne von.
Thomas: Du rechst dich dann irgendwann, rechnen, naja, das klingt zu hart.
Thomas: Du revanchierst dich dann irgendwann mit einem Poka-Yoke.
Andrej: vom Schirn, wollte ich gerade sagen.
Andrej: Oh ja, genau. Gut.
Thomas: So, Kind, jetzt mache ich dir mal den Rechner.
Thomas: Genug gespielt.
Thomas: Packen wir es, oder?
Andrej: Dann haben wir da durch ein Kind. Ich würde auch sagen,
Thomas: Heute ist ja, ich glaube, ich weiß gar nicht, ob wir jemals so lange schon hier gequatscht haben.
Andrej: drei Stunden zwölf, sagt die Aufnahme.
Thomas: Sieht man das hier irgendwo?
Andrej: Mal gucken. Sehen wir dann nach.
Andrej: Okay, na gut. Gut, dann
Thomas: Nicht auf einen Blick.
Thomas: Ah, doch da.
Thomas: Ah, wir hatten schon mal E-Mail.
Thomas: E-Mail, 191 Minuten.
Thomas: Das ist die längste, glaube ich, ja.
Thomas: Die Stalwart-Eskalation.
Thomas: Ja, hätten wir jetzt auf jeden Fall getoppt.
Thomas: Fantastisch. Und die Tagwall
Andrej: sage ich mal, Abmoderation.
Andrej: Ich hoffe, es hat euch gefallen, auch wenn es
Andrej: komplett random Themen waren. Lasst uns gerne
Andrej: eure Meinung da. Pockers at smarthütte.de
Andrej: Wir lesen jede E-Mail und
Andrej: freuen uns auch immer drüber. Und man kann
Andrej: natürlich auch über Mastodon uns
Andrej: schreiben. Mittlerweile sogar
Andrej: vollautomatisch kommt der Post raus,
Andrej: sobald der RSS für diesen Podcast veröffentlicht.
Andrej: Und eine Tagwall, genau.
Thomas: schließe ich mich an. Ciao zusammen.
Andrej: Also podcast.social
Andrej: at smarthütte
Andrej: podcast.social
Andrej: slash at smarthütte
Andrej: oder im Podcatcher eurer Wahl mal bewerten,
Andrej: Sternchen vergeben.
Andrej: Ich glaube, das hilft auch für Reach.
Andrej: Oder einfach weitersagen kann man ja auch,
Andrej: wenn ihr uns kennt, weitersagen.
Andrej: Oder Links senden.
Andrej: Ansonsten wünsche ich euch noch einen schönen Morgen,
Andrej: Mittag, Tag, Abend, was auch immer.
Andrej: Und wir sehen uns bei der nächsten Sendung.
Andrej: Ciao.