SmartHütte

Diese Woche im Fokus:
Andrejs Tochter eröffnet bei uns das neue Format "Kind vs Smart Home", und es hat den Anschein, als könnte sich das zu einem regelmäßigen Format entwickeln. ;-) Ausserdem berichtet Andrej darüber, was sich auf seinem Desktop Linux so getan hat und weist schon mal darauf hin, dass Proxmox 8 Installationen bald aktualisiert werden sollten. Thomas stellt die Frage: Wie funktioniert eigentlich Speicher? Was passiert hinter den Kulissen, wenn eine Applikation Speicher vom Betriebssystem braucht und wie verhält es sich mit der Rückgabe von freigewordenem Speicher?

Ein buntes Potpourri an Themen. Viel Spaß beim Hören!

Kurzer Disclaimer:
Unser Podcast ist ein organischer Podcast. Wir verplappern uns, schmeißen nur so mit Füllwörtern um uns und fallen uns gegenseitig ins Wort - wie unter Freunden eben. Bei den Transkripten lassen wir uns allerdings helfen, und das merkt man auch. :-) Die gröbsten, anstößigen Schnitzer versuchen wir noch zu korrigieren, bevor wir die Inhalte auf ewig ins Internet trompeten. Was den Rest betrifft, halten wir es allerdings wie Google: auf gut Glück.

Nehmt es nicht so genau und habt Spaß!

Linksammlung:

Creators and Guests

Host
Andrej Friesen
Host
Thomas Wiebe

What is SmartHütte?

Zwei Freunde, ihr Smart Home, Self-Hosting, Technik und das ein oder andere Interview mit Makern

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.

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.

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.

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.