Heut hab ich es geschafft, die Konfiguration für mein Backup-Tool in meine Compose-Dateien zu übernehmen. Letztendlich ist es jetzt relativ einfach, ich muss nur zwei Label hinzufügen:
In meinem Backup-Script habe ich nun einfach einen Aufruf des Datenbank-Backup-Tools aufgenommen, der vor restic einmal alles dumpt / die sqlite-Datei “offiziell” kopiert und nach dem Backup alles wieder aufräumt. Das Tool ist dabei auch einfach nur ein Bash-Script, das die Container durchgeht und nach den entsprechenden Labels guckt.
Jetzt wo das alles so gut läuft, muss ich mal schauen, dass ich auch die anderen Server umgerüstet bekomme.
Ich hatte es jetzt schon mehrfach, dass ich an einem Abend Sushi aß und am nächsten Tag von einer ausknockenden Übelkeit heimgesucht wurde. Was ist nur mit diesem Sushi los. Es ist doch nur Reis mit Avocado. Vielleicht einfach nur Zufall.
Die Entwicklung, dass man im real life mittlerweile überall KI-generierte Poster sieht, nervt natürlich gewaltig. Ich fand diesen Artikel ganz spannend, der versucht, es irgendwie besser zu machen. Aber selbst die für mich beste (Japanese Minimal) hat für mich immer noch einen Slop-Touch.
Als ich vor ein paar Tagen meine Homelab-Liste anlegte, fragte mich mich schon, ob ich meine Linksammlung wirklich weiter brauche. Als ich es vor einigen Jahren baute, dachte ich, ich bin jemand, der sich Links für später speichert. Tatsächlich bin ich das gar nicht.
So wird die Software im Grunde nur noch dafür genutzt, die Links zu archivieren, die wir uns via iMessage schicken. Falls man da später nochmal was sucht, oder diskutieren will, welche der 15 AirBnbs jetzt gebucht werden soll. Dafür hatte ich per API aus meiner Message-Archivier-App einen Link angelegt und sogar eingebaut, dass iMessage-Reactions entsprechend mitgesynct werden. Muss ja alles seine Richtigkeit haben.
Um einen Service zu sparen, habe ich mich also entschlossen das eine in das andere zu integrieren. Auf dem Weg wurde es dann auch nochmal ein bisschen verbessert, jetzt sehe ich zum Beispiel auch direkt den Kontext zum Link im entsprechenden Chat.
In dem Zuge habe ich auch mein browsershot-aio-Package aktualisiert. Ich will natürlich tolle Link-Previews und manche Seiten liefern bei einem curl halt einfach 403 zurück. Mit einem Headless Chrome geht es natürlich und mit diesem Package und dem dazugehörigen Docker-Container funktioniert das relativ einfach. Ist natürlich nur ein Wrapper um Browsershot von Spatie.
Mein T3 Code läuft ja aktuell auf einer VM, ohne weitere Sicherheitsvorkehrungen. Ich hatte gestern kurz die Idee, die VM vielleicht jede Nacht einfach zu wipen und neu bauen zu lassen und ließ mir dafür mal eine Nix Konfiguration für genau diese Maschine bauen. Soweit ich das nachvollziehen kann, sieht das auch alles okay aus, jetzt muss ich mich damit aber auch erstmal nochmal beschäftigen, um zu wissen, was genau da jetzt passiert. KI macht einfach immer nur noch mehr Arbeit!
Aprospos: Eine Sache, die ich mir auch anschauen will ist Jev. Ein etwas anderes Model, mit dem man anscheinend relativ kostengünstig Klassifizierungen und sowas machen kann, ohne alles an ein dafür völlig überqualifiziertes fettes LLM zu schicken. Mir fehlt leider gerade noch der Anwendungsfall.
Ich war heute mal wieder in so einem Laden, wo es neben den üblichen Supermarkt-Artikeln vorranging viel Obst, Gemüse und sehr viel GastroNorm-Container voll mit Frischkäsezubereitungen, gefüllten Paprika, Chilis, usw. gibt. Laut Google ein so genanntes Feinkostgeschäft. Ich bin da ja großer Fan davon und könnte davon immer tonnenweise Kram kaufen. Immer lecker!
Aktuell läuft mein Backup auf den Docker-Servern ja so, dass ich einfach das Verzeichnis backuppe, in dem Docker seine Volumes speichert. Am Anfang hatte ich kaum Services mit Postgres/MySQL und für SQLite wird das schon okay sein, dachte ich mir.
Nun wurde es aber doch ein bisschen mehr und vor allem enthalten gewisse Services mit MySQL nun auch relevant viele schön sortierte Daten (looking at you, Firefly). Von daher wollte ich mein Backup-Game mal etwas verbessern und fragte mal Codex Astra nach einer intelligenten Lösung, die DB-Dumps macht, bevor restic durchläuft. Das Projekt hier nicht weiter einzugrenzen und genauer zu beschreiben, dass es ganz übersichtlich sein soll, war allerdings ein Fehler.
Am Ende hatte ich eine riesige Go-App mit drei Kilometer lange README und Konfiguration. Da ich mich für das Backup auf nichts verlassen wollte, was ich nicht verstehe, legte ich das aber erstmal wieder bei Seite. Man muss echt aufpassen, dass man sich da nicht verzettelt. Oder die KI. Vielleicht lag es auch an Astra, ich bin ja ganz neu bei den Codex-Models!
Ich wollte heute ein Hermes-Paket abholen von einem Paketshop an einer Tankstelle und irgendwie habe ich immer das Gefühl, ich müsste, wenn ich eh schonmal da bin auch zumindest ein bisschen Tanken, damit die Tankstelle überhaupt was davon hat, dass sie nebenbei auch ein Paketshop ist. Ergibt wahrscheinlich gar keinen Sinn, da Tankstellen ja hauptsächlich am Bifi Roll verdienen, das man noch kurz mitnimmt.
Dummerweise konnte ich das Paket gar nicht mitnehmen, da der falsche Name drauf stand und ich keine Vollmacht dabei hatte. Ich habe also also komplett sinnlos getankt. Und das bei den Preisen!
Ich glaube, der Action-Button am iPhone ist so eine Sache, auf die ich mich mega freute, sie jetzt aber kaum benutze. Wie toll war die Idee, einen Button zu haben, mit dem ich direkt z.B. einen Reminder anlegen kann.
Ich hab also die Fast Reminders-App auf den Button gelegt und… naja, meistens ist es so, dass ich nochmal umgreifen muss, um an den Button zu kommen, weil ich das iPhone wahrscheinlich falsch halte, und dann vergesse ich, dass ich den Button gedrückt halten muss, damit er was macht und bis diese umständliche Abfolge von Dingen passiert ist, passiert meistens schon folgendes:
Keine Ahnung, was ich eigentlich notieren wollte. Naja.
Ich hab es geschafft, im Wiki eine Seite zum Homelab anzulegen. Ich habe erstmal dokumentiert, was aktuell bei mir zu Hause läuft. Viele Sachen sind natürlich Eigenentwicklungen, die eigentlich weiterer Erklärung bedürften, aber immerhin hat man schonmal einen kleinen Einblick. Mehr folgt später!
Ich wollte heut ein paar Seiten ausdrucken und musste feststellen, dass alles gespiegelt war. Ich probierte es nochmal. Probierte es vom iPhone. Startete meinen Rechner neu. Startete den Drucker neu. Turns out: Irgendjemand hatte im Drucker bei den Papiereinstellungen eingestellt, dass ich Transferfolien drucke, auf denen alles gespiegelt gedruckt werden muss. Aha. Muss irgendein Wichtel gewesen sein.
Ich hab es endlich geschafft mein Everdrop-Abo zu kündigen. Ich habe das irgendwie vor Monaten mal gestartet, weil ich es ganz nett fand, Geschirrspültabs ohne Plastik zu haben, in dieser schönen Everdrop-Metalldose. Eine Sache weniger, an die man im Supermarkt denken muss. Naja.
Insgesamt habe ich jetzt allerdings ungefähr 5.000 Tabs zu viel hier rumliegen, weil der Abo-Interval zu kurz war, und ich habe das Gefühl, dass es auch ganz schön teuer ist, vor allem, seitdem es seit ein paar Monaten auch 4,99€ Versandkosten kostet… aber wie das so ist, natürlich ist es auch bei Everdrop relativ kompliziert das Abo zu kündigen und so brauchte ich einige Zeit.
Nun bin ich aber frei! Juchu! (Everdrop gibt es ja auch einfach im dm zu kaufen, wenn ich weiter bei der Marke bleiben will)
Ich habe heute relativ lange gearbeitet und herumprobiert und bin tatsächlich mal über das Claude Session-Limit gekommen, was mir eher selten passiert. Tatsächlich hat danach jeder Prompt quasi eine neue 10€-Abbuchung ausgelöst, das geht dann doch schnell ins Geld, upsi. Ich habe auf meinem t3-Server also mal Codex installiert, um da das Kontingent auch nutzen zu können, bisher nutze ich die ChatGTP-Subscription eigentlich nur für den normalen Chat. Morgen wollte ich mir aber noch Open Code anschauen, und mir mal ein Kimi-Abo holen, das soll ja auch sehr gut sein, und viel günstiger!
Mein Arzt supported nun endlich E-Rezepte, es ist unglaublich. Es hat zwar alles ungefähr zehn mal so lange gedauert, als der alte Ausdruck, da das Signierungsterminal streikte, und die Karte 3-4 mal neu reingesteckt werden musste, aber danach hatte ich tatsächlich was auf der Karte. Da ich regelmäßig neue Rezepte brauche, könnte das nun immerhin etwas komfortabler werden, und ich muss weniger umherfahren (oder auf die Post warten).
Eine meiner Gründe, programmieren zu lernen, war ja immer, dass ich mal ein Spiel entwickeln will. Ich hab damals viel gespielt und natürlich ist es da naheliegend, dass man sowas auch bauen will.
So richtig erfolgreich war ich damit allerdings nie. Zum einen habe ich diesen ganzen Mathe-Kram nie verstanden und die Resourcen und Tutorials waren damals, als ich 12-14 war, auch noch nicht so dicht gesäht. Ich hatte mal ein, wahrscheinlich sauteures, Buch, das mir beibringen sollte, wie man 3D-Spiele mit Direct X entwickelt, aber ich kam nie über die ersten Seiten hinaus.
Als alles etwas zugänglicher wurde, es mehr Tutorials im Internet gab und auch diverse Spiele-Engines, auf die man aufbauen konnte, kam ich auch nicht weiter. Auf der einen Seite hatte ich einfach gar keine Idee, was ich für ein Spiel entwickeln sollte, und wollte auch keine Engine benutzen, weil ich eher verstehen wollte, wie alles unter der Haube funktioniert. Hier kam ich aber auch nicht über ein paar über den Bildschirm laufende Sprites hinaus, weil… es mir zu kompliziert wurde.
Ich widmete mich also für die nächsten fünfhundert Jahre dem, was ich gut konnte, was ich verstand, und wo ich auch Ideen hatte, was man bauen konnte: Webseiten und Apps.
In den letzten Jahren gab es natürlich einen gewissen Boom an Engines, vielen kostenlosen Grafiken und Tutorials, wie Sand am Meer. Hätte ich nun eine Idee gehabt, was ich bauen will, hätte ich sicher mit Godot viel Spaß gehabt, aber so richtig Lust und Zeit, mich da einzuarbeiten hatte ich nicht.
Nun ist 2026 und ich hab Godot und den MCP-Server für Claude installiert und arbeite mich Prompt für Prompt voran. Ja, es entsteht auch nur wieder ein AI Slop-Game, aber es ist das erste Mal, dass es mir Spaß macht, zu überlegen und auszuprobieren, was für Spielmechaniken vielleicht Spaß machen könnten am Ende. Einfach ein bisschen rumblödeln, warten und fünf Minuten spielen um zu schauen, ob es vielleicht Spaß machen könnte, ohne mir vorher wochenlang Tutorials angucken zu müssen, die mir erklären, wie ich etwas baue, was ich zwei Minuten später wieder rauswerfe, weil es keinen Spaß macht.
Ich denke nun auch nicht, dass es jetzt unbedingt zum neuen Mega-Game führt, aber es ist auf jeden Fall angenehm sich hier auf den Aspekt konzentrieren zu können, der mir Spaß macht und alles andere erstmal beiseite legen zu können.
(Ich versuche irgendwas, was mir den Spaß von Diablo 2 Kuhleveln nach 2026 bringt, nachzubauen. Besonders witzig finde ich, dass alle Grafiken mit einer sehr abenteuerlichen Pythondatei aus ASCII-Art generiert werden, haha)
Abgesehen davon habe ich hauptsächlich noch ein paar Features in meinen Firefly-Fork eingebaut und ein paar Ansichten übersichtlicher gemacht. Vor allem die Subscriptions (Verträge)-Seite war echt schrecklich vorher.
Heute kommt iOS 27 heraus und ich freue mich tatsächlich ein bisschen auf das Update, da man dann E-Mails snoozen kann, das wird toll! Ansonsten gibt es noch ein paar Gimmicks, ich kann dazu dieses Video von OwnGalaxy empfehlen.
Gestern war ich tatsächlich einfach viel zu müde, um noch einen Blogpost zu schreiben und ich habe beschlossen, das auch nicht nachzuholen!
Heute war ich im Auto unterwegs und habe mich endlich überwinden können, das zweite Buch von Dungeon Crawler Carl anzuschalten und ich habe es nicht bereut! Jetzt habe ich nur noch zwei Stunden übrig und auf Deutsch sind leider noch gar nicht so viele Bände als Hörbuch erschienen.
Abgesehen davon kann ich sagen, dass Autofahren im strömenden Regen wirklich nicht zu meinen Lieblingssachen gehört. Schlimmer als das Fahren in der Dunkelheit, da kann man sich wenigstens noch einbilden, dass man etwas sieht.
Fünfundzwanzig Jahre ist es her, dass ich im Chat von digimonwelt.de hing und wir dort den Einsturz des World Trade Centers begleiteten. Ich war damals 13 und es interessierte mich ziemlich wenig. Ich glaube, was mich am meisten störte war, dass dann kein Dragonball Z auf RTL2 lief.
Ich habe zum ersten Mal zwei Claude Instanzen gleichzeitig an einer Software arbeiten lassen. Natürlich habe ich vergessen, anzuklicken, dass sie jeweils eigene Worktrees nutzen sollen, daher endete es leicht chaotisch.
Heute habe ich mich ein bisschen mit T3 Code herumgeärgert. Ich wollte es ja auf einer eigenen VM zum Laufen bekommen, damit es da sein Unwesen treiben kann und ich z.B. vom Handy aus drauf komme. Leider kostete es mich mehr nerven, als gewollt, und das Problem war eigentlich ganz einfach: Wieder das falsche Fehlen der AVX-Instructions, weil ich wieder vergessen hatte den Prozessor-Typ umzustellen. Nun funktioniert es aber gut und ich konnte schon mehrere Features einfach Umsetzen lassen, während ich gleichzeitig das Unkraut aus den Fugen gekratzt habe, toll!
Ansonsten musste ich meine tägliche RSS-E-Mail Zusammenfassung nochmal umstellen, denn Mailjet hat den Account nach drei E-Mails gesperrt und sagt mir nicht warum. Ich nutze nun einfach meinen Mailbox-Account. Ich sah nämlich, dass ich dort einfach ein spezifisches App-Passwort generieren kann, das nur für SMTP funktioniert.
Weitere News aus dem Homelab: Ich habe Paperless bisher schon drei mal genutzt um ein Dokument zu finden und es klappte sehr gut! Wäre sicher auch mit Spotlight gegangen, aber ich hab schon das Gefühl, dass es besser indiziert ist.
Medientechnisch kann ich heute die neue Danger Dan-Single empfehlen.
(Nein, habe das Farin Urlaub-Album bisher nicht noch einmal gehört)
Realisierung des Tages: Arne Semsrott und Nico Semsrott sind zwei verschiedene Personen. Zuerst kannte ich nur Nico, den Typen aus dem Europaparlament, mit dem Hoodie. In den letzten Wochen sah ich immer öfter Arne Semsrott in Youtube-Videos und ich dachte, “wow, ohne den Hoodie sieht er ja ganz schön anders aus!”. Turns out, es sind Brüder. Zwei Menschen. Die zufällig in ähnlichen Bereichen unterwegs sind.
Ansonten war heute Keynote und ich habe mir neue Airpods bestellt. Die Airpods 4 kaufte ich damals direkt beim Release und damit sind sie auch zwei Jahre alt und werden von mir quasi täglich benutzt. Werden sie sicherlich auch noch einige weitere Monate, als Backup.
An der KI-Front habe ich heute mal t3.codes ausprobiert. Ich hatte schon mehrere von diesen Tools in der Ausprobierphase, aber so richtig überzeugt war ich bisher von keinem. Fühlte sich alles nach dem gleichen VS Code-Fork an. Mal sehen, ob es hier jetzt besser funktioniert. Ich hab auch mal eine neue VM erstellt, um den Remote Server installieren zu können, der dann freie Bahn haben kann. Schauen wir mal.