knuspermagier.de
Er bloggt noch? Krass!

ONLYOFFICE

Seit Ewigkeiten bin ich auf der Suche nach einer funktionierenden Google Sheets Alternative. Mittlerweile habe ich sie, wieder einmal dank Kevin, wohl gefunden: ONLYOFFICE.

Ich kannte die Software natürlich irgendwie, aber in meinem Kopf war es einfach nur ein weiterer schrottiger Fork von OpenOffice. Aber weit gefehlt: Es ist ziemlich perfekt. Es startet auf meinem Mac schnell und die TTNS (Time to new Spreadsheet) ist auf jeden Fall maximal so 2-3 Sekunden. Perfekt. Ich mache mich jetzt mal daran, meine ganzen Sheets herunterzuladen und zu öffnen. Hier und da gibt es noch ein paar kleine Sachen, die leicht kaputt sind, aber insgesamt sieht das schon sehr gut aus.

Jellyfin-Optimierungen

Wie geschrieben wechselte ich auf Jellyfin und ging im dem Zug auch ein Thema an, was mir schon länger im Hinterkopf war, was sich dank Claude Code aber mal wieder in kürze lösen lies. Bereits vor drei Jahren baute ich ein Script, was mit Youtube-Videos aus einer speziellen Playlist herunterläd. Witzigerweise schrieb das damals schon ChatGPT, kurios, dass das damals schon so gut funktionierte.

In der Zeit haben sich über 200 Videos angesammelt und natürlich ging ich nie durch, um sie mal vernünftig zu sortieren und zu benennen. Ich hab sie eigentlich auch nie angeschaut, da mein Plex immer nur so mittelgut funktionierte und der Gang zu Youtube viel kürzer war.

Aber ich will ja eigentlich nicht mehr ständig Traffic verschwenden, wenn ich die Videos sowieso lokal gespeichert habe. Ich habe mir also ein Frontend bauen lassen, das die zu heruntergeladenen Videos schön in einem Stream darstellt, inklusive Filter-Funktion nach Interpret und von mir vergebenen Tags.

file://1yqbqwn2r1vx6io1
file://xfwlhel7mnbfs1nn

Ebenfalls integriert ist die Download-Funktion, der zeigt mir alles in der Playlist an und ich kann es mit einem Button herunterladen. Eigentlich lief das ja als Cronjob, aber ab und zu kommt es halt doch zu Fehlern, daher habe ich mich hier erstmal wieder für ein manuelles klicken und überwachen entschieden. Soviel füge ich jetzt auch nicht der Liste hinzu.

file://2zec0hvbxuczpwkb

Als letztes gibt es noch die etwas hässliche aber sehr praktische Edit-Ansicht, wo ich direkt Titel, Artist und Tags vergeben kann. Das ist nämlich in Jellyfin direkt auch verdammt umständlich. (Dazu kommt, dass man in Jellyfin immer erstmal die Bibliothek neu scannen muss, nachdem man einen Artist eingetragen hat, sonst ist er nach zwei Refreshs einfach wieder weg? Hä?)

file://btjyb6grrjmvglyv

Natürlich kann ich in dem Interface auch direkt die Videos abspielen und zur Not den ganzen Tag loopen lassen, wie ich es aktuell natürlich mit unravel mache.

Von Plex zu Jellyfin

Seit Jahre nutzte ich Plex, ich kaufte damals sogar eine Lifetime-Lizenz, damit ich nicht ständig jedes Device neu freischalten muss. An sich funktionierte es auch lange ganz gut, vor allem der seamless Remote-Access.

Leider, wie immer, wurde es mit der Zeit immer schlechter. Ständig kam neuer Quatsch hinzu, deren eigener Streaming-Service drängte sich rein und die UX wurde immer schlimmer. Zudem klappte der Remote Access irgendwie immer weniger gut, ständig war mein Plex down, obwohl es wunderbar lief und ich kriegte es nicht mehr zum Laufen.

Nach einigen Monaten der Genervtheit installierte ich jetzt mal Jellyfin und migrierte meine Dateien rüber. Leider ist die UI von Jellyfin auch alles andere als schön oder übersichtlich, aber immerhin gäbe es hier auch noch die Möglichkeit, ein anderes UI drauf zu setzen, weil die API etwas besser aussieht. Tatsächlich habe ich mir für einen meiner Anwendungsfälle, das Archivieren von schönen Musik-related Videos von Youtube, auch schon ein Alternatives Frontend schreiben lassen. Vom Apple TV und anderen Geräten komme ich mit Infuse drauf und kann alles aufrufen. Den Zugriff von Außen löse ich jetzt einfach über Wireguard, das funktioniert auch wunderbar, ganz ohne unbekannte Plex-Magic.

Das Känguru und Audiobookshelf

Heute kommt das neue Buch aus Marc-Uwe Klings Känguru-Kosmos heraus und da man ja nicht immer Amazon alles Geld in den Rachen schieben muss, dachte ich, ich kaufe das Hörbuch einfach in seinem eigenen Shop.

Nun stand ich allerdings vor dem unlösbaren Problem, dass ich es mir auf dem iPhone ja gar nicht in der Audible-App anhören kann. Dieses Problem ließ sich natürlich nur lösen, in dem ich einen neuen Service in mein Homelab aufnahm, der schon länger auf meiner Liste war: Audiobookshelf. Als Player auf dem Telefon habe ich Prologue, die App ist wirklich sehr schön und integriert sich wunderbar mit Audiobookshelf.

file://cdtnour5aorx9qih
file://xcbldddxlsfig7uk

Natürlich wurde der Platz auf meinem Docker-Host direkt etwas knapp, da ich nun mehrere hundert Megabyte große Sound-Dateien hochgeladen habe. Ich überlegte, wie ich die am besten ausgelagert bekomme und dachte mir zuerst, ich installiere jetzt Samba auf der Plex-VM und gebe die 4TB-SSD, die da dran hängt frei.

Die nächste Idee war es, das Jellyfin, das auf der Plex-VM läuft einfach auf den Docker-Host umzuziehen, und die Festplatte mitzunehmen. Damit würde ich mir auch eine VM sparen, das wäre nett. Leider musste ich feststellen, dass ich Jellyfin gar nicht per Docker installiert habe und auf die Migration einer Bare-Metal-Installation in den Container war mir erstmal zu nervig.

Zum Glück kam, kurz bevor ich Samba installierte, noch Markus mit einer viel besseren Idee um die Ecke: NFS. In Verbindung mit MacOS hatte ich damit bisher immer nur Probleme, aber von Linux zu Linux scheint das einfach problemlos und performant zu funktionieren. Der Docker-Host hat nun also Zugriff auf die 4TB-SSD und kann da beruhigt seine paar Hörbücher abspeichern. Yay!


Audiobookshelf unterstützt auch Podcasts, was ich erst Quatsch fand, denn die muss ich wirklich nicht archivieren. Später am Abend fielen mir aber doch noch zwei wichtige Podcasts fürs Archiv ein, die bisher nur auf der NAS versauerten.

file://xqybze38rwdxtutc

Die lange Reise nach Sanktuario

Große Teile meines Lebens verbrachte ich damit, Diablo 2 zu spielen. Zwischen 14 und 16, oder so, war es wahrscheinlich mein einziger Lebensinhalt. Raus aus der Schule und den ganzen Tag zockeeen.

Natürlich konnte Diablo 3 nie wieder den gleichen Reiz erzeugen, von Diablo 4 möchte ich gar nicht anfangen, das habe ich nämlich bis heute nicht gespielt, weil es natürlich nicht mehr auf dem Mac läuft.

Immer wieder habe ich jedenfalls Lust, mal wieder den Klassiker zu spielen und vor ein paar Jahren kam mit Diablo 2 Resurrected ja sogar eine aktualisierte Version raus, die das Spiel etwas auf modernere Displaygrößen (größer als 800x600) anpasst und ein paar Komfortfunktionen hinzufügt. Leider natürlich ohne Mac Support. Schade.

Vor zwei Jahren dachte ich mir, ich könnte es aber ja auf meinem Ayaneo AM01 spielen, kaufte es im Battle.net-Shop und… spielte ein klein wenig. Leider fand ich es etwas blöd, mich dafür immer an einen Schreibtisch mit Tastatur und Monitor setzen zu müssen und installierte dann Sunshine und Moonlight um das Spiel auf mein Macbook zu streamen, aber so richtig gut funktionierte das nicht, da der Mini-PC dafür wohl doch zu langsam war.


Zwischendurch kaufte ich das Spiel nochmal auf der Switch, denn da läuft es, im Gegensatz zu meinem Mac. Tatsächlich spielte ich dort auch relativ viel, nämlich einen Paladin bis Level 20. Ich schaffte leider den Endboss von Akt 2 nicht und meine Motivation schlief ein. Außerdem ist die Switch einfach nicht dafür geschaffen, verschiedene Spiele zu spielen.

Die Switch ist nämlich ein mega geiles Gerät, wenn man immer nur Animal Crossing spielt. Oder Zelda. Dann lässt man das einfach an, und wenn man spielen will, ist das Spiel noch geladen und man kann einfach weiter machen. Sobald da ein weiteres Spiel ins… Spiel kommt, ist es leider einfach nur noch anstrengend. Spiel beenden, laden, laden, neues Spiel starten, laden, laden, laden, laden. In einer Phase, in der die Switch also hier stark andersweitig frequentiert wurde, verlor ich irgendwann die Lust weiter zu spielen.


Nun ist 2026, ich dachte mir mal wieder, dass man ja Diablo 2 spielen könnte. Ich kam auf die tolle Idee, dass ich ja mal Bazzite auf meinem Ayaneo AM01 installieren könnte, denn dieses Linux nur für Gaming ist bestimmt einfach viel besser als Windows 11. Ich kaufte also erstmal einen USB-Stick, der groß genug ist, um das Image drauf zu spielen, installierte alles und musste mich erstmal damit rumärgern, dass der Battle.net-Launcher anscheinend die schlimmste Software der Welt ist und sich nur über die schlimmsten Umwege unter Linux zum Laufen kriegen lässt.

Leider musste ich da aufgeben, zum Glück kam das Spiel ein paar Tage vorher auch einfach bei Steam raus, wo ich es… naja, nochmal kaufte. Mit Steam klappte das alles super, das Spiel startete und… ich konnte es Spielen. Mit 10 FPS. Aaah. Unter Windows lief das doch recht performant, warum ist es jetzt so unglaublich ruckelig? Ich hatte wirklich keine Lust auf weitere Linux-Frickeleien, hab den Rechner abgeschaltet und wieder in den Schrank verpackt. Immerhin ist sind eine 1TB SSD und 32GB RAM drin, das ist ja quasi gerade Gold.


Da die Switch seit ein paar Wochen nur im Schrank rumlag, hab ich sie mir nochmal geschnappt und ein paar Runden Diablo 2 gespielt. Tatsächlich find ich die Steuerung mit dem Controller ja fast besser, als mit Maus und Tastatur. Ich hab ein paar Monster umgehauen, habe es bisher aber weiterhin nicht geschafft, mit meinem Paladin den Endboss vom 2. Akt zu besiegen, es ist einfach unglaublich schwer, wenn man mit den Items leben muss, die man so findet. Trotzdem macht es Spaß und eine schöne Portion Nostalgie schwingt ja immer mit. Ich hoffe, es will so schnell niemand etwas anderes auf der Switch starten.

Gestern fand ich auf Youtube dieses Video in dem ein paar Leute, anscheinend aus Vancouver, das gesamte Hamilton-Musical aufführen. Es ist natürlich nur eine Hobbyproduktion mit schlechtem Sound, ist bei jemandem zu Hause aufgenommen und es sind keine professionellen Musical Sänger:innen, aber ein paar davon sind echt ganz gut und ich hatte kein Problem damit, es mir komplett anzuhören. Gute Arbeit!

(Honorable Mention: Dieser Typ der das ganze Musical acapella in einer Schulkantine singt.)

Von 1Password zu Vaultwarden: Erster Eindruck

Vor ein paar Tagen kam eine E-Mail von 1Password, die eine Preiserhöhung ankündigte. Ungefähr 10$ sollte es teurer werden, das wären dann 70$. Ich habe das Abonnement schon relativ lange und um ehrlich zu sein, fand ich es immer schon eine Menge Geld um ein paar Kilobyte Daten zu speichern.

(Ja, ich weiß, die Entwicklung der Software kostet auch Geld, etc)

Zwar funktionierte das alles für mich immer problemlos, aber vor allem die Mac-App wurde halt auch nicht besser, seitdem es eine Electron-App ist. Außerdem gibt es mittlerweile ja einige Alternativen, die man mal ausprobieren könnte. Eine davon ist Vaultwarden, verbunden mit der Bitwarden-App.

Am Mittwoch startete ich den Vaultwarden-Container, installierte die Apps unter iOS und MacOS und habe meinen 1Password-Export importiert. Damit ich wirklich gezwungen bin, es zu nutzen deaktivierte ich 1Password in Chrome und auf dem Handy als Password-Autofill-Dienst.

Mein erster Eindruck nach zwei Tagen: Bisher funktioniert es völlig problemlos. Es schlägt mir Zugangsdaten vor und füllt sie aus. Die iOS-App funktioniert gut, die MacOS-App scheint auch Electron zu sein und, naja, sieht nicht ganz polished aus, klappt aber auch.

Weiteres kann man gar nicht berichten, it just works. Falls in den nächsten Wochen doch noch Probleme auftreten, werde ich mich nochmal melden.

Danger Dan - Das Ist Alles Von Der Kunstfreiheit Gedeckt

Das erste etwas aktuellere Album, dass es auf die Liste schafft. Danger Dan war mir vor seinem Solo-Album nicht wirklich bekannt. Ich kannte war die Antilopen Gang vom... Hören. Also den Namen, nicht deren Musik. Mit dem Erscheinen dieses grandiosen Albums traten also sowohl Danger Dan als auch seine Band in mein Leben, doppelt gut!

file://chvjsfqvminrfjbe

Anspieltipps: Lauf davon, Das schreckliche Buch, Ingloria Victoria. Wenn man, so wie ich, Live lieber mag, kann man es sich auch auf dem dazugehörigen Live-Album anhören, da sind noch ein paar andere Knaller mit drauf.


Dieser Post ist Teil der #52-alben-Serie.

Forgejo x Claude Code

Gestern habe ich versucht, mein Forgejo mit Claude Code zu verbinden. Ich hatte es mir ungefähr so vorgestellt, wie der Workflow mit Github Copilot: Ich erstelle ein Issue in Forgejo, assigne es einem Claude-User und das Issue wird dann gelöst, ein Merge Request wird erstellt und fertig.

Ich hab angefangen, das so zu bauen, mit einem Script, dass regelmäßig guckt, ob es neue Issues gibt und dann Claude Code startet, das entsprechend angewiesen ist, das Issue zu lesen, das Repo zu clonen, alles zu bauen, es zu pushen und am Ende einen Merge Request zu erstellen. Für einen sehr einfachen Task funktionierte das auch gut, aber natürlich fehlt dabei auch die ganze Diskussion, wo er erstmal einen Plan macht, den man sich angucken kann. Oder Nachfragen stellt. Wahrscheinlich könnte man das alles noch rauslesen, als Kommentare in das Issue pasten und auf meine Antwort warten, aber so wichtig war es mir auch nicht, sodass mich entschloss, diesen Ansatz nicht weiter zu verfolgen. Soll das doch jemand anderes bauen.

file://78qx77wwwt5jfn42

So ganz aufgeben wollte ich den Workflow allerdings nicht. Ich baute das also alles etwas um, behielt die ganzen Skripte und Skills um mit Forgejo zu interagieren und machte es wieder etwas interaktiver. Kann nun weiter meine Issues in Forgejo pflegen und ausformulieren und wenn ich Lust habe, kann ich mich auch von unterwegs auf meinem Server einloggen und kurz über claude-jo [link-zum-issue] lösen lassen. Ist zwar ein bisschen manuell aber dafür auch interaktiv. Und da es im Docker-Container läuft, kann ich es auch problemlos mit --dangerously-skip-permissions laufen lassen und muss nicht alle drei Sekunden etwas erlauben.

Ich habe den Code mal hochgeladen, das spart immerhin einen Prompt kostbarer Tokens.