knuspermagier.de
Since 2005.

Saltatio Mortis, 2013 – 2026

Vor vielen Jahren war Saltatio Mortis mal eine meiner Lieblingsbands, aber irgendwann ist das Band zur Band twas schwach geworden, da mir ihre Musik immer weniger gefallen hat. Nichts desto trotz habe ich sie immer weiter verfolgt und höre auch seit einem Jahr ihren Podcast, so dass ich das ein oder andere mit bekomme, was sie so machen, aber in den letzten Jahren ist das auch so viel, dass ich vollkommen die Übersicht verloren habe. Daher versuche ich das hier mal aufzudröseln:

Zuerst gehen wir mal davon aus, dass das 2013er Album “Das Schwarze 1x1” das Letzte mit ein paar hörbaren Liedern ist. Danach folgten erstmal zwei weitere Alben (“Zirkus Zeitgeist”, “Brot und Spiele”), die mich beide überhaupt nicht abholten. Zu beiden gab es auch diverse Bonus, Special-Editions und sogar Akustik- und Unplugged-Alben, aber das half alles nichts, ich habe nichts davon mehr als einmal gehört und für gut befunden.


2021 erschien mit “Für immer frei” ein neues Album, von dem ich bis zu diesem Zeitpunkt absolut gar nichts mitbekommen habe. Auf Spotify gibt es davon zwei Versionen (“Aus fremden Federn”, 29 Songs und “Unsere Zeit Edition” mit 37 Songs), was es nicht weniger verwirrend macht. Das Album an sch scheint 14 Tracks zu haben und der Rest sind wohl Cover von Saltatio Mortis-Liedern von anderen Bands. Da ist sicher das ein oder andere witzige dabei. Ich werde mal in das Album und die Bonus-Discs reinhören und mir ein Bild machen, die Songtitel klingen zumindest nicht ganz schlimm.


Mit dem “Finsterwacht”-Kosmos ging es 2024 weiter. Da habe ich bisher nur in den titelgebenden Track reingehört und fand es ganz okay. Hier handelt es sich ja anscheinend um ein Album, das mit einer Pen and Paper-Geschichte im Zusammenhang steht. Um alles etwas verwirrender zu machen gibt es dazu auf Spotify:

  • Die Feuer der Finsterwacht: Ein Album mit Musik, die man beim Pen and Paper spielen hören kann
  • Sturmfels-Klänge: Genau das gleiche nochmal
  • Finsterwacht: Das richtige Album
  • Finsterwacht (Feuer und Erz Edition): Die “Special Edition” mit Bonus-CD.

Als “Bad Loverz” haben sie 2025 noch ein paar Singles und ein “Greatest Hits”-Album herausgebracht, wo sie ein paar Pop-Titel covern. Ich habe mir nichts davon angehört, aber es ist sicherlich lustig, vermüllt die Diskografie-Seite von Saltatio Mortis aber, die Singles alle beide Interpreten als Artists verlinkt haben, hä.


Ebenfalls 2025 erschien mit WELTENWANDERER in All-Caps, warum auch nicht, ein großes Best-Of-Album mit fünfzig Titeln, einer davon der Spielmannsschwur (United), der natürlich auch als Single erschien. Das ist ihr bekannter Song, gesungen von allen befreundeten Mittelalterbands des Planeten. Der Rest sind halt die ganzen Songs, die ich kenne, oder auch nicht.


Nun sind wir langsam in der aktuellen Zeit angekommen. Ihr aktuelles Projekt ist nun “Staub und Schatten”, bei dem sie fünfzehn Songs schreiben wollen, die sie auf fünf EPs aufteilen. Jede dieser EPs soll zu einem Buch von Torsten Weitze passen, der anscheinend diese Staub und Schatten-Bücher gerade schreibt. Das Album soll erst 2027 erscheinen, aber genau die fünfzehn Songs enthalten, die alle schon vorher auf den angekündigten EPs erscheinen. Äh ja, das wird ja spannend und sicherlich weniger verwirrend und dazu beitragen, dass die Diskografie bei Spotify schön aufgeräumt ist.

Ich habe mich bisher nicht mit Torsten Weitze oder seinen Büchern beschäftigt und bisher nur den ersten erschienenen Song gehört und der ist leider schon wieder nur feinster Mainstream-Kram im Sinne von “Tote Hosen, aber mit Dudelsack”. Schade.


Okay, nun habe ich etwas mehr Übersicht. Schön. Meine Todos für die nächste Zeit:

  • Mal in “Für immer frei” reinhören
  • Mal in “Finsterwacht” reinhören
  • Mal kurz bei “Bad Lovers” reinhören
  • Gucken, was Torsten Weitze eigentlich für Bücher schreibt und ob das “Staub und Schatten”-Ding doch spannend werden könnte, auch wenn der erste Song da langweilig ist.

Noch ein kleines Firefly-Update

Ich habe noch eine Kleinigkeit in Firefly eingebaut. Ich erzählte ja letztens, dass ich den Transaktionen jetzt sehr einfach die dazugehörigen Produkte zuordnen kann. Das war schonmal sehr komfortabel. Mir kam heute noch die Idee, dass ich das natürlich auch einfach nutzen kann, um Transaktionen einfacher aufsplitten zu können, wenn ich z.B. mit einer Bestellung, keine Ahnung, ein Buch und ein Stromkabel gekauft habe, dann sind das an sich natürlich zwei verschiedene Kategorien.

file://idz528kgcicv5nis
Ja, in diesem Screenshot ergibt das keinen Sinn.

Claude baute mir das mit wenigen Prompts relativ schnell:

on the transaction details page there ist a list of products associated with the transaction. to each product add checkbox and at the top a button "extract to new transaction". the button should create a new split transaction that: a) has a amount of the amounts if the products, b) is linked to the existing transaction, c) has the products associated. the OLD transaction amount should be reduced by the amount of the "splitted" products. the products should not be associated with the existing transaction anymore. take a look at the SPLIT TRANSACTION logic thats on the edit page of transactions

Wird so langsam!

Wochenrückblick KW4/2026

Eine weitere Woche ist vorbei!

  • 🎶 Eingeschränkt: Wenn ich im Auto fahre, habe ich eigentlich nur eine CD (ein Aufzeichnung eines Zauberer von Oz-Musicals) und eine SD-Karte drin. Letztere habe ich mit der Farin Urlaub-Discographie bespielt, als ich schnell ausprobieren wollte, ob das Auto die SD-Karte akzeptiert. Es gehen nämlich maximal 2GB. Irgendwie finde ich das immer ganz entspannend, so eine beschränkte Auswahl zu haben, aber auch ganz schön. (Natürlich gibt es noch 1Live, aber manchmal läuft da nur schrott)
  • 🏚️ Dumb Home: Ich hatte mir den offiziellen Home Assistant Thread-Stick gekauft um die Switchbot-Steckdosen vielleicht doch per Matter anzubinden. Als ich den Stick anschloss, ging aber erstmal der Zigbee-Stick kaputt. Zusätzlich klappt der Thread-Stick gar nicht (einfach so) mit meinem aktuellen Home Assistant-Docker-Setup, aaah. Es ist doch etwas nervig.
  • 🤖 Vibe fehlt: Durch einen dummen Fehler, der meine ganze Weekly Usage bereits am Dienstag verpulvert hat, habe ich die restlichen Tage mal mit OpenCode versucht ChatGPT als Coding-Model zu benutzten. Leider hat mir das von den Ergebnissen weniger gefallen, als Claude AI. Da ich auch ChatGPT an sich in letzter Zeit fast gar nicht mehr nutze, hab ich mich entschlossen, die Subscription da mal zu beenden.
  • 📺 Schlecht nachgemacht: Das ZDF hat ein paar neue Folgen von Nicht nachmachen! produziert. An sich hätte es sicher lustig sein können, denn die Hosts mag ich ja, aber es hat einfach nicht den, Achtung, vibe, wie die alten Folgen mit Hoecker und Boning.
  • 😵‍💫 Verwirrung: Saltatio Mortis haben eine neue EP veröffentlicht und das hat mich dazu gebracht, mal zu schauen, was in den letzten Monaten/Jahren eigentlich bei ihnen passiert ist und ich bin einfach komplett verwirrt über ihr künstlerisches Schaffen. Ich werde das in den nächsten Wochen nochmal genauer anschauen.
  • 🕊️ Vogelfrei: Im Rahmen des Digital Independence Day überlege ich natürlich auch ab und zu, was man noch alles ersetzen könnte. Für Tailscale ist mir heute netbird entgegengeflogen. Andererseits könnte man Tailscale ja aber auch selber hosten. Mal sehen, was ich mit dieser Information anfange, habe ja genug zu tun.

Bis nächste Woche!

Amazon-Bestelldetails-Extraktor

Da ich gerne wissen wollte, was ich eigentlich so bei Amazon bestelle und das verlinkt mit den Transaktionen in Firefly speichern wollte, brauchte ich einen Weg um die Daten herauszubekommen. Leider hat Amazon dafür natürlich keine API, also suchte ich etwas halb-automatisches und bat, mal wieder, Claude um Hilfe. Mein Prozess ist nun folgendermaßen:

file://xp0ijexse3dtgrze
  1. Mittlerweile hat Amazon zum Glück die Order-ID mit in der Kreditkartenabbuchung drin. Daraus erzeugt mir Firefly automatisch den Link zu den Bestelldetails: https://www.amazon.de/gp/css/summary/edit.html?orderID=$orderId
  2. Ich drücke mein von Claude erzeugtes Bookmarklet1, dass mir ein JSON in die Zwischenablage speichert, in dem alle Daten drin sind
  3. Ich packe das JSON ins Notizfeld der Transaktion und Firefly erstellt daraus automatisch die entsprechenden Produkte und verlinkt sie damit.
  4. Das dauert pro Transaktion so drei Sekunden und funktioniert schon ein paar Wochen. Sollte Amazon das Markup ändern, ist es sicher auch schnell gefixt.
file://ii8lbxdcczce05me

1: Das Bookmarklet:

javascript:(function(){const cards=document.querySelectorAll('[data-component="orderCard"]');const items=[];cards.forEach(card=>{const shipments=card.querySelectorAll('[data-component="shipments"] > .a-box-group > .a-box');shipments.forEach(shipment=>{const statusEl=shipment.querySelector('.od-status-message span.a-text-bold');const isReturned=statusEl&&statusEl.textContent.includes('Rücksendung');const products=shipment.querySelectorAll('[data-component="purchasedItems"] .a-fixed-left-grid');products.forEach(product=>{const titleEl=product.querySelector('[data-component="itemTitle"] a');const imgEl=product.querySelector('[data-component="itemImage"] img');const priceEl=product.querySelector('[data-component="unitPrice"] .a-offscreen');if(titleEl){items.push({product_name:titleEl.textContent.trim(),product_link:'https://www.amazon.de'+titleEl.getAttribute('href').split('?%27)[0],price:priceEl?priceEl.textContent.trim():%27%27,has_been_returned:isReturned,image_url:imgEl?imgEl.getAttribute(%27src%27):%27%27});}});});});const json=JSON.stringify({items},null,2);navigator.clipboard.writeText(json).then(()=>alert(%27Copied %27+items.length+%27 items to clipboard!%27)).catch(e=>alert(%27Failed to copy: %27+e));})();

(Irgendwann finde ich wieder heraus, wie der Blog einen Clodeblock ordentlich formatiert darstellt)

UberBlogr-Webring

Auf der Suche nach weiteren versteckten persönlichen Blogs wie meinem, wurde ich mal wieder von Jan auf den UberBlogr-Webring aufmerksam gemacht, bei dem ich mich auch direkt mal angemeldet habe. Ich werde mich da die nächsten Tage mal durchklicken!

Roasted Broccoli and Whipped Tofu With Chile Crisp Crunch

Immer wenn ich so Rezept-Ausprobier-Videos auf Youtube gucke, finde ich zwar meistens ein paar Sachen lecker, vergesse es aber auch sofort. Diesmal habe ich es tatsächlich geschafft mir etwas, wait for it, aufzuschreiben (also um genau zu sein machte ich einen Screenshot) und daher gelang es mir heute tatsächlich dieses Gericht aus der New York Times nachzukochen. (Ich sah es in diesem Video von Fabi)

file://ectrlrgruclmsklm

Es besteht aus drei Teilen:

  • Einer Basis aus Cashewmus und Seidentofu, was unglaublich lecker schmeckt, dafür dass es nur zwei Zutaten (+ Salz / Pfeffer) sind
  • Gebackener Brokkoli mit Sojasauce (ich hab ihn erst kurz gekocht, damit es im Ofen schneller geht)
  • Eine Mischung aus gehackten Cashews,Panko (ich nahm normales Paniermehl) und knusprigem Chili-Öl, was ich endlich mal schaffte zu kaufen.

Es ist sehr lecker.

Projekte, die gehen mussten

Wer viel baut, wirft auch viel weg, das kennt man ja auch von Google. Wer trauert nicht Wave oder Reader hinterher. Schrecklich.

Ähnlich wie Google habe ich in den letzten Jahren ein paar Sachen gebaut, bei denen sich gezeigt hat, dass sie am Ende zu wenig Nutzen und Nutzer (nämlich null, statt wie erwartet einen) haben und damit abgeschaltet werden müssen, um nicht weiterhin Mental- und CPU-Load zu verbrauchen. Hier eine Liste aktueller Einstellungen, die niemanden außer mir betreffen:

logsock

Ich wollte einen kleinen Service, dem ich leicht Events schicken kann, die ich dann per Push-Notification bekomme. Funktionierte an sich gut, der einzige Nachteil war, dass diese Web Push-Geschichte unter iOS leider nicht ganz so zuverlässig funktioniert. Irgendwann geht etwas nicht mehr und man bekommt einfach keine Notifications mehr, bis man die Web-App mal neu installiert. Das ist natürlich dumm. Abgelöst wurde das Thema jetzt von meinem Matrix-Server, dem ich ähnlich leicht Dinge schicken kann.

mey

Mein Ersatz für last.fm und so. Lief eigentlich ganz gut im Hintergrund und hat sich meine History von Spotify gezogen und angezeigt, aber einerseits hatte ich nie die Energie meine alten Exports von last.fm korekt zu importieren (So Song-Namen wie “Intro” machten aufgrund der Export-Datenstruktur immer Zuordnungsprobleme) und andererseits ging mein Interesse für die Daten nie über ein “ja, das ist jetzt aber ganz witzig das zu haben” hinaus. (Ich hab auch hier mal darüber gebloggt, aber mein interaktives Tool geht natürlich nicht mehr)

Doch das größte Problem in diesem Zusammenhang ist wahrscheinlich, dass ich aktuell leider weniger Musik höre, da Podcasts und Hörbücher schon meine Ohren beanspruchen und wenn, dann mache ich das wohl auf Youtube.

Mey kann also wohl erstmal Weg und in 60 Jahren wieder ausgegraben werden, wenn ich nochmal wissen will, wie oft ich “Mach die Augen zu” von die ärzte hörte.

cms

Äh ja, ich hab tatsächlich mal angefangen eine Art CMS / Bloggingsystem zu bauen. Ich wollte etwas für pwa.io und philipps.photos, was perfekt an die jeweiligen Seiten angepasst ist um dort so schnell und friktionslos wie möglich Inhalt veröffentlichen können. Tatsächlich gab ich das schon relativ schnell auf und integrierte die beiden Seiten einfach hier in den Kirby-Blog. Tatsächlich habe ich seit dem auf beiden Seiten nichts veröffentlicht, haha.

serenity

Damals schnell angefangen, weil mir Firefly III nicht so richtig gefallen hat. Leider habe ich es nicht fertig gemacht, also auch nicht wirklich benutzt. Die Daten in Firefly wuchsen weiter an und dank Claude kann ich es mir ja jetzt so anpassen, wie ich es will, ohne, dass ich eine komplette Neuentwicklung machen muss.


Das waren jetzt nur die Projekte, die ich tatsächlich auch mal deployed und kurz benutzt habe. Dazu kommen natürlich noch tausend, die nichtmal ein git init gesehen haben und schon voher abgesägt wurden, aber daran erinnere ich mich natürlich auch nicht mehr.

Ein kurzer Ausflug zu n8n

Nachdem in den letzten Monaten mein Youtube voll war mit n8n-Tutorials habe ich es mir über Weihnachten doch mal installiert, das geht ja ganz fix und auch ausprobiert. Mein “Problem” war bisher ja immer, dass ich gar keine Ahnung hatte, was ich jetzt dringend noch automatisieren muss. Ich hab zwar ein paar Dinge, die laufen, aber das Zeug läuft ja, dafür muss ich ja jetzt nichts Neues installieren.

Nachdem ich meinen Matrix-Server aufgesetzt hatte, hatte ich aber doch kurz die Idee, mir vielleicht so einen Bot zu bauen, der mir morgens die wichtigsten Infos zum Tag schickt. Warum auch nicht. Im Großen und Ganzen handelt es sich dabei um Sonnenauf- und Untergang und das Wetter. Ja, äh, sehr spannend.


Am Anfang war ich schon relativ überrascht, wie einfach und geschmeidig das alles funktioniert. Quasi, wie in allen Tutorials. Dann wurde es allerdings doch kurz frustrierend. Als alter Programmierer, dachte ich, ich lege die ganzen Tasks, die Daten sammeln (Wetter, Sonnenaufgang) parallel an und werfe die ganzen Outputs dann in die “Schick eine Nachricht bei Matrix”-Node und er kümmert sich schon um die Concurrency.

Leider wurde ich da anscheinend enttäuscht. Zum Ersten braucht man, wenn man mehrere Sachen parallel anlegt am Ende Noch “Merge”-Nodes, die Sachen zusammenführen und außerdem führt er den Kram gar nicht parallel aus, sondern einfach nacheinander. Vielleicht bin ich etwas dumm, aber ich hab noch keinen Weg gefunden, dass er mehrere Sachen gleichzeitig macht.

file://nnzdy54cyvagc9lh

Nach ein bisschen herumprobieren hatte ich es aber geschafft und mittlerweile bekomme ich seit mehr als zwanzig Tagen jeden morgen eine Nachricht von meinem Matrix-Bot und weiß endlich, wann die Sonne aufgeht. Toll!

Vergleich von ein paar Self-Hosted Sentry-Alternativen

Da mir das ständige Eintauchen in die Docker-Container, um mal eben die laravel.log zu öffnen etwas nervte, suchte ich schon seit ein paar Woche nach einem guten, zentralen, Errorlog-Tool. Der Platzhirsch wäre natürlich Sentry, aber das habe ich vor zehn Jahren schon probiert und natürlich war es ein Pain es zu installieren. Als einzelner Entwickler von ein paar Quatschprojekten, brauche ich auch 99% der Features gar nicht. Ich recherchierte also mal nach ein paar Alternativen und präsentiere hier meine Findings, nach dem ich mich mit jedem der Tools zwischen zehn Sekunden und zwei Stunden beschäftigte.

Meine Anforderungen waren die folgenden:

  • Leicht zu installierende Self-Hosting-Variante mit möglichst kleiner docker-compose-Datei.
  • Kompatibel zum Sentry-SDK, damit man es überall einfach einbinden kann
  • Optional: Alerts über Webhooks
  • Optional: Login per OpenID Connect

Telebugs

Sieht ganz spannend und leichtgewichtig aus, kostet aber 250$, was mir etwas zu teuer ist. Aber an sich natürlich ein nettes Finanzierungsmodell, das ich vielleicht nochmal anschauen werde, wenn ich sowas für Projekte brauche, die auch Geld bringen.

Flare

Für meine ganzen Laravel-Apps wäre das natürlich sehr passend, aber man kann es nicht selbst hosten und es kostet Geld.

Bugfender

Gar keine Installation-Dokumentation gefunden. Vielleicht kann man es gar nicht selber hosten, ich weiß nicht mehr wo ich es gefunden habe.

Bugsink

Ein Produkt aus den Niederlanden von einem Solo-Dev. Sehr sympathisch. Die docker-compose-Datei ist übersichtlich und enthält nur Postgres und die Bugsink-App. Ich hab es also eben gestartet, eine App angebunden, einen Fehler gesendet und es funktioniert. Es ist jetzt nicht das schönste Tool auf dem Planeten, aber sieht auch nicht schlimm aus.
Die einzigen zwei Problemchen: Man kann keinen Open ID-Provider einbinden und Notifications für die Errors gehen auch nur per E-Mail raus.

Update: Bugsink hat doch Supports für Webhooks, ich hab es nur im ersten Durchlauf übersehen.

Glitchtip

Das wurde mir unter anderem letztes Jahr schon von Daniel empfohlen und die Webseite sieht ganz ganz cute aus. Die Compose-File war mir im ersten Moment etwas viel, da neben Postgres auch noch valkey und zwei weitere Services inkludiert waren, daher legte ich es erstmal zur Seite und probierte Bugsink.

Allerdings kann Glitchtip Login via Open ID und das ist ein Punkt der dafür spricht, es zu verwenden. Ich startete es also, probierte aus ob Events ankommen und freute mich! Die Open ID-Anbindung an Authentik funktionierte auch problemlos.

Update: Ich fand gerade heraus, dass man auch Notifications per Webhook verschicken kann und nicht nur per E-Mail, supi!

file://q5qajirr0xmd7rbg

Ich werde nun also mal die nächsten Monate schauen, wie es sich so schlägt!

Wochenrückblick KW3/2026

  • 🧼 Sauber: Letzten Sonntag vermisste ich meinen rechten Airpod. Nach etwas überlegen fiel mir ein, dass ich nach dem Mittagessen die Tischdecke schnell zusammenlegte und in die Waschmaschine packte, weil da ein frischer Fleck war. Die Tischdecke. Mit dem etwas wirren Muster. Schnell zusammengelegt. Aaaah. Ein Blick auf die Waschmaschine offenbarte, was ich mir schon dachte: Der Airpod ist jetzt sauber. Eine Nacht in Basmati-Duftreis gebettet später funktioniert er allerdings wie am ersten Tag!
  • 🧺 Aufgeräumt: Wie schon in den letzten Jahren habe ich zum Jahreswechsel meinen aktuellen Dev-Ordner entsorgt und einen ganz frischen angelegt. Es ist immer wieder ein gutes Gefühl im neuen Jahr ohne die ganzen Ordner mit Tests und alten Projekten aus dem Vorjahr zu starten.
  • ⬆️ Upgedated: Livewire 4 und Filament 5 sind raus! Da ich jetzt, dank Claude, alle meine Projekte auf dem aktuellen Stand habe, kann ich da jetzt auch direkt updaten und die neusten Features genießen!
  • 🗓️ Täglich: Die nächste Woche mit täglichem Bloggen ist erledigt. In so einer normalen Arbeitswoche wird es aber schon anstrengend, das muss ich sagen, aber auch, weil ich mir das Ziel setzte meistens wirklich was zu schreiben, und nicht nur einen Link oder ein Musikstück zu posten. Ich werde mal sehen, wie es sich in der nächsten Woche entwickelt und ob der Spaß nachlassen wird.
  • 🏚️ Un-Smart: Diese Woche habe ich mich noch etwas mit meinen Switchbot-Plugs herumgeärgert. Ich kaufte die, weil sie günstig waren, aber sie sind echt nicht so gut angebunden, da die SwitchBot Cloud-Integration echt panne ist (super langsam und oft nicht erreichbar) und sie direkt per Bluetooth ansprechen ist bisher auch nur wackelig, trotz Bluetooth-Gateway direkt daneben. Nervig.
  • 📚 Gelesen & Gehört: In dieser Woche hörte ich ein Buch von Martin Suter und las weiter am aktuellen Hunger Games Prequel. Ich hab im Kindle mittlerweile die Prozentanzeige abgeschaltet, weiß also nicht, wie weit ich bin, aber es ist ganz nett, leider schlafe ich weiterhin nach so zwei Seiten ein.
  • 🤖 Vibe-Update: Diese Woche habe ich hauptsächlich das Tagebuch und die Rezepte-App verbessern lassen. Beide Sachen erhielten sehr gute Updates, sodass ich beides direkt viel umfangreicher nutze. Ich bin weiterhin sehr erfreut darin, was alles schon möglich ist und motiviert mich noch weiter damit zu beschäftigen und zu schauen, wie ich Claude jetzt motiviert bekomme, alles noch etwas weniger Spaghetti-mäßig zu bauen.
  • 🎶 Sandmännchen: Klaus Kauker ist ja schon seit ein paar Monaten zurück auf Youtube und hat ein informatives Video zu dem Sandmännchen-Lied veröffentlicht, für alle, denen es auch schon immer komisch vorkam.

Bis nächste Woche!