Comment by WD-42
16 days ago
A Jellyfin music client for Linux written in Rust and GTK:
https://github.com/Fingel/gelly
I thought it would be pretty simple, but here I am almost 6 months later still adding features. The positive feedback has been nice, though! People seem to appreciate (like I do) that its fast and doesn't use Electron or some other cross platform toolkit. Learning a lot.
It's not vibe coded. Sad that I have to make that qualification these days, but here we are.
Very nice, ran well in a VM on my home NAS.
I've always noodled about this marketplace idea where an optimization algorithm could match your interests and a dollar amount you can afford to let you rent/buy artist's music. The optimization would maximize the purchase of the differently valued music(analogus to the weighted knapsack problem but this could have multiple solutions, knapsack is a nice way of thinking about it logically, in reality implementation may be completely different) based only on your interests, like history and dollars u have. I am wondering how might one apply a distributed systems approach without having music pirated and shotgunned all across the internet? Like how would you quickly match a person to all the available music metadata? How would you model for interest matching if the music library is spread out across multiple nodes.
I would imagine a lot of people are ok with paying 5-10$ a month instead of 15-20$ for music they like from a set of artists they like.
I think you can still make the distinction of vibe coded vs using LLM for specific things(like review your code and write tests).
Vibe coding signifies a lack of control over one's own code and generally only if it's to generate ideas or throwaway. The negative connotation that goes with it is appropriate too.
In reality any project that takes 6 months means your have invested a lot of time thinking about the code, in which case LLMs become more useful for the things you care about e.g. maintainability, forcing LLMs to bend to your will, which is like saying: " I know this design is the best so just make this instead of whatever abstraction you think is better".
Yes to be clear what I meant was that it’s not a prompt engineered project. I actually, for the most part, understand the code I’ve written :p
I have used LLMs to understand certain concepts and unfamiliar APIs. Gtk and Rust is actually a pretty funky combo.
This is pretty darn awesome. I haven’t checked it out yet, but I’m already psyched about it.
Nice, thanks! I’ve been looking for a decent alternative to PlexAmp for Jellyfin.
Looks incredible, well done
Why make a Jellyfin client rather than a generic UPnP/DLNA one? Not a rhetorical question btw.
This is awesome, gonna check it out. Thanks! Helpful to look at a big rust project too as I’m learning rust.
This is cool but who owns music collection these days?
I do, I buy albums on Bandcamp, rip my CDs, and as a last report buy MP3s on Amazon, which are surprisingly DRM free.
Definitely more common to just use streaming services like Spotify, but some people do own their music library. There’s probably a decent sized overlap of those who buy music and those who self host things like jellyfin
Does GTK work for your use case therein? Does the documentation work for you?
curious about not vibe coded, is it because you wanted to learn? or some thing else as well?
Maybe they care about it being robust in the long run, maintainable, secure and/or not too bloated.
Pretty much. I plan on using this program for a long time. I don’t want a codebase that looks like something out of a H.P. Lovecraft novel when I have to fix something in the future.
8 replies →