Helle Barden
Terry Pratchett
Auf jeden Fall schonmal wieder besser.
Hallo. Ich bins! Philipp!
Auf jeden Fall schonmal wieder besser.
Seit Jahren haben wir den Eiern abgeschworen aber zur Weihnachtszeit erzeugt das oft ein Problem. Wie klebt man das Lebkuchenhaus zusammen ohne Eiweiß? Tatsächlich gibt es dafür eine gute Lösung: Aquafaba, was ein fancy Name ist für “Das Wasser was beim Kichererbsenkochen entsteht”.
Leider fand ich es immer sehr anstrengend an den Rohstoff zu kommen. In den bekannten Dosen verschiedener Markenhersteller war immer nur sehr wenig Flüssigkeit drin und am Ende musste man drei Dosen Kichererbsen aufessen um an wenige Milliliter der goldbraunfarblosen Flüssigkeit zu kommen.
Doch, in diesem Jahr, haltet euch fest, entdeckten wir ein Knallerprodukt im REWE: Das Veggo Aquafaba. Man kann einfach einen halben Liter davon im Tetrapack kaufen. Warum entdeckten wir das erst jetzt! Wie viele Lebkuchenhäuser man mit einem halben Liter kleben kann! Die Möglichkeiten sind unbegrenzt.
(Falls ihr dieses tolle Produkt bereits kanntet, könnt ihr diesen Post ignorieren, für mich war es quasi Live-Changing.)
Ebenfalls ein schnell erklärtes und fluffiges Spiel, das man auch in großer Runde spielen kann: Passt nicht!. Hinter dem erstmal ablehnenden Namen versteckt sich ein Kartenspiel, bei dem man ausnahmsweise mal die Karten legt, die… nicht passen. Hat Spaß gemacht!

Man kann so lang seine Handkarten ablegen und neue ziehen, wie man nichts hat, was farblich oder von der Zahl her zu der aufgedeckten Karte in der Mitte passt. So versucht man so viele Punkte wie möglich zu sammeln. Ein Problem gibt es erst, wenn man eine Karte hat, die passt, dann muss man sie nämlich auf den Stapel legen und die schönen Punkte sind weg. Man kann auch ganz gut versuchen seine Mitspieler zu ärgern, in dem man ein bisschen taktisch ablegt, aber alles bleibt auf einem okayen Komplexitätslevel.
Vor ein paar Tagen spielten wir ein paar Runden Magic Maze und es war überraschend witzig. Der Twist ist, dass es ein Realtime-Spiel ist, also alle Beteiligten gleichzeitig spielen. Jeder hat eine Aktion, die er oder sie ausführen kann und man muss gut aufpassen, dass man immer zur Stelle ist, um das richtige zu tun, denn man spielt gegen die Sanduhr.

Das Spielbrett ergibt sich im Laufe des Spiels und besteht aus verschiedenen Labyrinth-mäßigen Kärtchen die zufällig aufgedeckt und aneinander gelegt werden. Zuerst sucht man die Waffe, die zur Spielerklasse gehört und als zweites flüchtet man aus dem… Kaufhaus. Irgendwie spielt man nämlich rollenspielmäßige Charaktere, die in einer Mall herumrennen, warum auch immer. Das wäre auch mein Kritikpunkt an der Sache: Allein visuell hätte ich die Box wohl im Regal stehen gelassen und die ganze Welt, die auf das Spielprinzip draufgeflanscht ist, ist irgendwie derbe egal.
Aber: Ich bin froh, dass wir es ausprobieren konnten, denn es machte Spaß, es ist schnell erklärt und die Runden sind auch schnell vorbei, sodass man auch mehrere Spielen kann, um richtig reinzukommen.
Das zweite Buch der Zauberer-Reihe um Rincewind begeisterte mich wie das erste nicht so sehr. Mittlerweile sagten aber ein paar Leute, dass das vielleicht einfach nicht der beste Einstieg in die Scheibenwelt ist, daher gebe ich der Sache nochmal eine letzte Chance und mache in der Wachen!-Reihe weiter.
Wer meinen Jahresrückblick überflogen hat, wird sich vielleicht fragen, woher ich weiß, wie viele Liter Orangensaft ich im Jahr 2025 gekauft habe. Gerne beantworte ich das hier natürlich!
Tatsächlich ist es nämlich so, dass ich fast exklusiv über den REWE-Abholservice einkaufe. Das ist einfach so komfortabel. Ein bisschen klicken und am nächsten Tag holt man es einfach ab, ohne 90 Minuten lang durch den Supermarkt zu laufen. Nebenbei hat man auch noch den Vorteil, dass alle Bestellungen online abrufbar sind. Leider kann man sie nicht als CSV- oder JSON-Datei herunterladen, aber dafür können wir uns ja eben ein Script schreiben (lassen).
Ich habe das folgendermaßen gelöst: Zunächst einmal habe ich mich bei REWE eingeloggt und bin auf unter meinem Konto auf “Meine Einkäufe” gegangen. Dort habe ich jeden einzelnen Einkauf in einem neuen Tab geöffnet über “Details anzeigen”. Auf jedem der einzelnen Tabs habe ich mein von Claude erstelltes Bookmarklet gedrückt, das die Seite parst und als .json herunterläd. Ja, man hätte den Schritt vorher auch schon automatisieren können, aber die paar Tabs öffnen, hat mich jetzt auch nicht umgebracht.
Die heruntergeladenen .json-Files habe ich in einem Verzeichnis gesammelt und Claude gebeten, mir ein Python-Script zu schreiben, dass die Daten in eine SQLite-Datenbank importiert und daraus spannende und lustige Statistiken erstellt, in Form einer .html-Datei.
in this folder there are jsons with orders from my supermarket. build a sqlite database structure and import the json to then generate some statistics from it. there should be a script that returns some statistics like: most popular products, products with big price changes in the different purchases, etc. be creative
one last thing: please make an alternative script that does not generate console output, but a sleek looking web page (saved as report.html) with tailwind css (loaded from cdn)

Das war es auch schon. Lustige Statistiken! Vom groben überfliegen passte zahlenmäßig auch alles, nur mit den Zucchini hat er irgendwie Probleme, ich denke nicht, dass ich wirklich 80.000 Stück gegessen habe, vielleicht schaue ich mir das nächstes Jahr nochmal an.
Falls es jemand ausprobieren will, es wohnt auf Codeberg.
In regelmäßigen Abständen kopiere ich Dinge auf mein NAS. Backups, kennt ihr, ne? Bisher machte ich das immer mit einem relativ simplen rsync-Kommando:
rsync -aPr [quelle] /Volumes/dump/[ziel]
An sich funktionierte das auch, aber es war, sobald die Verzeichnisse größer wurden, z.B. dann 25.000 Fotos in meinem 2025er Lightroom-Katalog, dauerte es etwas, weil er natürlich bei jedem Bild erstmal prüft, ob es schon da ist, und ob es sich verändert hat und so weiter. Alles Dinge, die ich nicht brauche. Er soll einfach nur alle neuen Dateien auf die NAS bügeln und sich nicht soviel anstrengen.
rsync -a --ignore-existing --no-perms --no-owner --no-group --size-only --progress [quelle] /Volumes/dump/[ziel]
Nach etwas Diskussionen mit ChatGPT, bin ich mittlerweile bei diesem Kommando angekommen. Nach ersten Tests scheint das etwas schneller aber insgesamt ist es doch immer noch nervig langsam, vor allem bei tiefen, verschachtelten Verzeichnisstrukturen.
In einem kurzen Test habe ich gestern auch noch ausprobiert es mit unison zu lösen, da ich einen Weg suchte, wo er sich irgendwie merkt, was er beim letzten Mal rübergepeitscht hat, und beim Nächsten ausführen nur noch neue Dateien kopiert, ohne zu gucken, was auf dem Zielsystem schon vorhanden ist, aber so richtig zufriedenstellend und schnell funktionierte das leider auch nicht, da unison immer noch viel zu viele Vergleiche anstellt.
Entweder bin ich zu blöd, die richtige Lösung zu finden, oder sie existiert nicht. Die Alternativen wie restic, was ich für meine Server-Backups benutze, möchte ich hier nicht, da ich auf dem NAS eine 1:1-Kopie meiner Dateien als… Dateien haben will und nicht irgendein Repository mit de-duplizierten Datei-Chunks, die man erst wieder restoren muss.
Hat noch jemand eine Idee, wie man das beschleunigen könnte?
Wir hatten gestern den Need… Tage zu zählen, in einem Kalender. Erst wollte ich dafür ein Excel-Template raussuchen, doch ich ließ es schnell von Claude bauen, was wahrscheinlich weniger Zeit brauchte, als Numbers zu starten.

Falls ihr auch mal blaue und rote Tage zählen wollt, habe ich es unter tools.philippwaldhauer.com/calendar hochgeladen. Außerdem ist es auf Codeberg, da wollte ich mir eh mal einen Account machen, falls ich mal Lust habe, meine bedeutungslosen Repositories von Github zu entfernen.
Sobald ich mich von meinen Stars auf ein zehn Jahre altes, unbenutztes Projekt, verabschieden kann. :xheul:

Schon lange habe ich keine Art von Jahresrückblick mehr gepostet, aber es ist doch ganz witzig, also danke Torsten für die Inspiration, die ich hier direkt mal klaue.
Im Jahr 2025 habe ich…
Telegram hat sich über die letzten Jahre ja in mein Leben geschlichen, gar nicht unbedingt, weil ich da so viele Kontakte habe, sondern weil die Bot-Schnittstelle so super einfach ist und weil die App unter iOS und MacOS so geschmeidig ist.
Im Zuge des Selfhosting-Wahns will man sich davon los sagen, aber es ist gar nicht so einfach. Ich hatte zwar mit Logsock ein Tool geschrieben, dass ich ähnlich leicht nutzen kann, aber leider geht der ganze Web-Push-Kram irgendwann nicht mehr, vor allem, wenn man die Web-App gar nicht mehr auf dem Homescreen haben will. Außerdem hatte ich in Telegram immer noch einen Bot, mit dem ich auch sprechen konnte, und einen Rückkanal hatte meine Webapp auch nicht.
Meine aktuelle Lösung ist nun ein selbst gehosteter Matrix-Server und Element X als App auf dem iPhone. Erst wollte ich den offiziellen Matrix-Server Synapse benutzen, aber alle Anleitungen, die ich dazu fand, waren relativ umfangreich und enthielten diverse andere Services, die ich, als künftiger Hoster eines Ein-Mann-Matrix-Servers sicherlich gar nicht brauche. Anscheinend ist auch Synapse an sich nicht gerade die leichtgewichtigste Variante.
Danke an Markus, der mir Continuwuity empfohlen hat. Das scheint sehr übersichtlich und benutzt z.B. kein schwergewichtiges Postgres als Datenbank. Meine docker-compose.yml enthält also nur zwei Kleinigkeiten:
services:
uwu:
image: forgejo.ellis.link/continuwuation/continuwuity:latest
container_name: continuwuity
restart: unless-stopped
[...]
volumes:
- continuwuity-db:/var/lib/continuwuity
- /etc/resolv.conf:/etc/resolv.conf:ro
matrix-webhook:
image: nim65s/matrix-webhook:latest
container_name: matrix-webhook
restart: unless-stopped
[...]
volumes:
continuwuity-db:
Dieser Post könnte nun noch unbegrenzt lang werden, aber was soll ich sagen, it just works. Mit ein paar curl-Calls legt man sich schnell einen Admin und einen Bot-User an und kann dann, dank matrix-webhook mit einen einfachen POST-Request etwas in einen Raum schreiben lassen, toll!
Die Notifications kommen schnell in Element X an und die App fühlt sich auch recht gut an. Es ist kein Telegram, aber auf jeden Fall eine der besseren Open Source Chat-Apps. Es integriert sich auch gut genug ins System, dass mir Siri die eingehenden Notifications, wenn gewünscht, auch korrekt vorliest. Perfekt.
Im nächsten Schritt werde ich Claude wohl noch meine Telegram-Bots übersetzen lassen und ich bin wieder ein bisschen selbstständiger geworden, juchu!
Ja, ich weiß, die Notifications von Element X gehen am Ende natürlich wieder über einen Third Party Anbieter. Aber immerhin halt nicht mehr über Telegram-Infrastruktur