I think it's just a pretty consolidated space? Kind of like ebook management, which was dominated by Calibre for so many years (this changed recently).
But unlike ebooks, media centre management is a fair bit more complex since it involves supporting many different media formats and many forms of acceleration or transcoding.
So the big projects - Kodi for local media and Jellyfin for streaming - have a lot of inertia because they tend to support whatever you throw at them.
Until a year ago, it was either Calibre/CalibreWeb, Audiobookshelf, or a few alternative readers heavily focused on comics.
Late last year, a vibe-coded app called BookLore appeared and basically brought over everything Calibre did but with much better UX and e-reader integration. The original dev crashed out[0], but the community picked up the project and started reigning in the worst of the slop and maintaining it as Grimmory [1]. It's pretty damn good.
There is also a book fetcher called Shelfmark [2] that integrates with Calibre, ABS, or Grimmory.
[0] and he _might_ be currently trying to push another even more vibe-coded competitor, but that's unconfirmed drama
It’s not that difficult to be honest. VLC / ffmpeg can do most of the heavy lifting. And there’s no shortage of libraries for rendering in a UI.
There used to be several options to choose from. Multiple different XBMC forks. Multiples different Subsonic forks. Multiple different DNLA servers. Multitudes of web-based servers. CLI MP3 servers. Independent media centres for a variety of different consoles.
Maybe that’s still available and just not indexed on that site. But I noticed the choices had shrank significantly last year when I was looking for Plex alternatives.
I think I understand how to use about 20 of the command line options for ffmpeg and the companion utilities like ffprobe. Which is to say; I understand about 0.5% of the total options they provide and am likely a world leading expert in it. I'm mostly joking -- as in, overstating how many of them I understand.
Understanding ffmpeg borders on a specialization in itself. No big surprise that so many of the alternatives have fallen away over the years as people realize the absolute scope of that piece of software.
You don’t need to understand much of ffmpeg to build a media centre. Your requirements here are extremely simplified and there are hundreds of guides online on how to use it for very simple transcoding.
But if you don’t want to use ffmpeg directly then use one of the many ffmpeg wrappers. Or a different lib entirely like gstreamer or VLC.
Around 15 years ago I built a media centre for my car and the media playback part turned out to be the easiest part of the project.
i had media center powered by a few perl script that would transcode all videos into formats that ps3 supported in 2007-ish. Yes ffmpeg had a lot of options, 99% of them does not matter, there really only 3 ways to stream to client: as is, repack streams into something client support (i.e. your source is mkv) or transcode into something client support (clients know which formats they support).
People that run these services don't want "dynamic stream quality selection".
I would love to see an Open Source media center that supports streaming services. I wouldn't care if the services say "we only support 1080p for browsers / open source, anything more needs a locked-down device". (Perhaps the project could have some add-on you can buy that's a physical hardware dongle for doing 4k HDR and emitting HDCPed HDMI.) I already live with that for watching on my laptop. Just having watchable basic-resolution streaming would make it a one-stop-shop.
If streaming through a browser/open source / not the locked down app supported 1080p I would be a lot happier. My understanding from the last time i looked is that it actually only supports 720p
You can coax Netflix into giving you 1080p in ordinary Firefox by setting the right user-agent. That's good enough for me, and if it stops working I'll be motivated to stop paying those assholes anyway.
The issue is many streaming services require DRM in the browser.
I can’t recall if Chromium supports that, I have a feeling Google only include that DRM in Chrome. But if it is available in Chromium then you might be able to build an Electron app.
Sounds easy if all you have to do is write a short comment about it. People who actually did it, like the recently retired lead of the Jellyfin project, didn't make it sound like it's "not that difficult".
If you want ot vibe code a project for yourself it's probably reasonable amount of effort. But if you want to build a product, something with polish, something not held together by spit and scotch tape, something reliable, it won't be easy.
> Multiple different XBMC forks. Multiples different Subsonic forks. Multiple different DNLA servers. Multitudes of web-based servers. CLI MP3 servers.
Big difference between _audio_ streaming and _video_ streaming servers. Video streaming is much more complex and pretty consolidated, as I mentioned.
Audio streaming is much more manageable: no issues with transcoding, acceleration or subtitling, and a radically simpler UI. Also ID3 tags aren't great but they're a pretty universal standard with lots of databases, you don't need to desperately scrape IMDB/TMBD for info.
As a result there are quite a few music servers, often exposing Subsonic compatible APIs, ranging from the minimalistic to the 'I'm trying to do everything Spotify does'.
There’s literally no difference in difficulty between audio and video.
They all suffer from the same problems of indexing content. They all have multiple different encoding formats available. And they all need a frontend widget in your client for playback.
I’ve worked with both the audio and video streaming platforms and what you’re describing is grossly inaccurate. The fact that your container format isn’t including video frames doesn’t magically solve any of these issues.
Plus ID3 can be a source of new problems by itself given the way it was implemented…twice.
The answer to every question about how to use/write it is the counter question: well, which software do you want it to work with? Here are your 8 mutually incompatible options.
I like Tailscale, but it's difficult to argue with a straight face that it's not seriously suffered from product creep.
This is the inherent problem with tech start-ups. Once they solve the problem they were founded to solve, then what? It's feature complete, but investors insist that the line must go up. Can you imagine if `sed` or `vim` was brought to market by a venture-backed company?
IMHO, capitalism and FOSS are fundamentally incompatible.
I don't know, copyleft at least in the GNU fashion has always had a tone of 'turning the opposition's own tools against their interest' at least insofar as its philosophy of intellectual property is concerned.
That’s [part of] what regulatory frameworks are supposed to accomplish: minimize and compensate for capitalism’s excesses. A free market can do a lot of very impressive things with surprising efficiency, but it fails on a number of things societies value, FOSS included.
IMHO, there should be more robust publicly funded support for license enforcement, facilitated access to forming charitable/non-profit organizations, subsidized grants/loans, and something akin to the Public Broadcasting Service, but for the internet. Sort of like a national intranet, with federated social media, web archives, public service portals, email, digital asset storage, and software development and distribution resources.
But that’s just my democratic socialist head-canon. No doubt such a system would be incredibly difficult to implement, and come with any number of unintended consequences that, for the purposes of this discussion, I chose to ignore. It’s also worth noting that there are several of those things in the USA’s federal government already: you can find open source software repositories for a number of federal agencies, like NASA and the NSA (which includes several fun projects).
I find stuff like this hilarious. No software project has ever failed, or even slow down one iota, because of the comment style. This is just someone's personal "ick" masquerading as "coding standards."
Whilst I do agree with you on that specific example, it’s worth noting that code standards as a whole are a somewhat blurry line that can be extremely subjective at times.
I actually don't think it's worth noting. I think, if a particular code standard issue is really of value, it will be obvious. You will propose it and nobody will argue. I think the fact that code standards are contentious is proof they are extremely low value. Subtle effects are indistinguishable from superstition.
I know very well how opinionated other developers are. I'm explicitly saying it's a waste of energy to be that picky about code style.
There is an easy to define line: there is no line. It's not a boundary where "over here is good code" and "over there, not" we just don't have a good idea of where the line is. No. There is absolutely no line.
> I know very well how opinionated other developers are. I'm explicitly saying it's a waste of energy to be that picky about code style.
To be honest, I completely agree with you.
The point I make is that not everyone would. And that disagreement along results in a blurry line as to what some would consider important and what others would not.
I'm not going to argue about what style is best like whether or not tabs are superior to spaces or if you should cuddle your elses (other than for my own amusement of course), I just want there to be a style, singular, that the whole project uses. It's nicer that way.
Like, I certainly could finish a book where they changed which font/size they were using every chapter or whatever, but why would I want this?
I think the particular choice of coding standards is low value, but I think the consistency they bring has a lot of value, at least potentially.
As a father of two boys myself, I know exactly where you're coming from. Like some adults, they'll argue over pointless details and miss the entire thrust of the discussion.
No, to repeat what I said, I think "consistency" to a programmer is like "fairness" to a child: it's not what you think it is and it probably doesn't apply to whatever situation it's being invoked.
Combined with “do not mix declarations and code”, this could be a strict C89 compatibility thing (not that I think that these standards are a good idea either, even with that less arbitrary justification).
Heh, HTTP itself is pretty nice and flexible protocol. Its not their fault its get bloated by all shit added to it. Gopher is such inferior protocol compared to HTTP.
Here we go: as soon as you ask for any kind of definition or rigor around AI development, people will work hard to shut you up.
You're asking an extremely reasonable question, IMHO, especially given these are projects with limited resources going up against generally larger, better-resourced projects. AI is an obvious point of leverage in such a situation, and so there is a lot of potential to reverse engineer using AI and get good results.
What all of these requests fundamentally come down to is "How are you filtering for quality?", which is an extremely difficult question given the state of, for example, the app stores.
> Here we go: as soon as you ask for any kind of definition or rigor around AI development, people will work hard to shut you up.
Heh. I was essentially run out of lobsters for repeatedly asking that question. Not even kidding. At some point I became the second most flagged user in the entire forum. The site itself invited me to delete my account.
After a while I simply asked Claude to define "slop" and posted the answer. To this day it's still the only coherent definition of "slop" in the entire site.
Software was never that different but everyone is definitely now realizing that, like all the other creative type things humans produce, the trick isn't finding one, it's finding a good one.
AI involvement is a possible heuristic but I seriously doubt it's all that useful for software (probably works a lot better for books)
Why does it have almost 400 upvotes, while it's serving an up to date cert signed by Certificate Authority expired in 2024 ? Do people really ignore such issue and click through warnings so easily?
It would be better to have a pure http site, instead.
There are a lot of electric cars that are relatively normal, usually from more traditional auto manufacturers.
Toyota bZ/bZ Woodland, the entire Hyundai/Kia lineup, Honda Prologue, Jaguar i-pace, original Audi e-tron
I haven’t seen the newer Nissan infotainment system, not sure about that one.
Are these without tech? No, not at all, but they do have fast and simple interfaces that are designed to dump you into CarPlay/Android Auto with ease, and a good amount of them retain separated climate controls that live outside the screen.
Obviously if you want something like a 2008 Accord that’s not really going to be a thing, but almost everyone who isn’t Tesla or Rivian is surprisingly conventional. If you haven’t done much EV shopping and your impression of EVs is “they’re all like Tesla where everything is in the screen” that isn’t true at all. For example, Kia/Hyundai EV models have absolutely zero difference between the gas models and EVs in terms of control design.
The only electric car that I drove was a Peugeot 208e. I liked it a lot, but just the fact that the car has a SIM card with 4G connection is already weird for me. Why would my car connect to the internet? I also have doubts about the GPS... And I absolutely do not want Android Auto. Anything related to Google or any GAFAM is a big no for me.
Android Auto (and, similarly, Apple CarPlay) isn’t by itself any form of draconian Google data collection, you can really think of it as a second screen mirroring car-oriented user interface for Android OS.
It is almost 100% equivalent to connecting a second monitor to a laptop, but with a car UI.
You can use Android Auto without any sort of internet connection with offline maps, perhaps an app utilizing OpenStreetMaps. There is no prerequisite to sign your life away to Google or have them collect tons of data from you to use it.
As far as cars having cellular modems, yeah, I guess I’m not a fan of not having the choice to buy new cars without them, but usually they are there for pretty logical reasons. The car manufacturer infotainment system usually has its own software with online-enabled maps and apps, which some people prefer, I guess.
Believe it or not, Rivian has a complete global off switch for data collection, although it disables features like adaptive cruise control. Still, you’d probably be the type to not mind losing that as a trade-off.
There definitely needs to be more privacy legislation surrounding automotive technology, for sure. However, our original topic here was “bloat,” which in the context of automotive technology I take to mean “overbearing software and a lack of intuitive controls for automotive functions.”
For me, if a car has separate climate controls, turn signal stalks, non-haptic steering wheel buttons, and a volume knob, and the screen isn’t wildly laggy, I’m good.
I've been a big fan of https://alternativeto.net/ and using their "open source" and "self-hosted" filters. Even looking through the non-FOSS alternatives for a particularl application/site can be helpful; sometimes a for-profit company will take a different approach to solving a problem and it will give me other ideas to ponder.
Some of the information on there is useful, but I'd say that alternativeto.net is an almost perfect example of a bloaty & hostile website. OP's website is much more pleasant.
Seems it's always the same trade-off: either a commercial site with an opaque business model, or a weekend passion project which might go away when the hobbyist in question finds they have other (or more lucrative) things to do.
The most bewildering thing about the redesign is that the button to visit an application's website -- arguably the most important one since one would assume people are on the site to try out alternatives -- is now hidden somewhere far below the fold.
https://madeineurope.dk is by far the easiest to navigate imo, but all the alternatives are of course european given the website name (can also filter by open source).
It’s hard to pinpoint one single replacement because nextcloud is a huge suite of cloud apps. So it depends which apps in the stack you’re looking to replace.
Nice collection. I've been using some of these for a while, G-Helper is a lifesaver if you own an Asus laptop and Immich is probably the best Google Photos replacement out there right now.
I think in general maintainers would be better served by declaring Performance is a Feature earlier in their projects and rejecting contributions that add surface area to the API at the expense of throughput on the existing surface area.
Wrapping modules to expose additional functionality for a niche in a problem domain is tricky. You will end up with some code duplication and some predictability issues with your timelines, but the end result will be better for it.
Long ago someone convinced me that 'Strangling a Service' could also be applied to APIs. The base
module should be as simple as possible but no simpler, and more esoteric features should be shunted off to another module. And then in the case when features are antagonistic to each other, they can live in parallel in separate wrappers.
The tricky part there is writing unit tests in the base to defend the negative space that these
features fit into. This feature depends on an invariant in the base API that will break everything if merged.
FWIW, this site is fast, works perfectly with a text-only browser, e.g., links (1.4MB static binary), elinks, or without a (blooated) browser, e.g., retrieve all the pages, catenate and read as a single HTML file or convert it to, e.g., SQL, CSV or a plain text file
All the /p/ URLs are in the sitemap, all the site's pages can be retrieved over a single TCP connection
Also, the website seems to be largely ‘vibe coded’, at least given by the written copy and the style. If you ask Claude to use 1990s/2000s web design and HTML it’ll do something like this.
124 comments
[ 0.22 ms ] story [ 125 ms ] threadThere used to be so many options for media centres. What happened?
But unlike ebooks, media centre management is a fair bit more complex since it involves supporting many different media formats and many forms of acceleration or transcoding.
So the big projects - Kodi for local media and Jellyfin for streaming - have a lot of inertia because they tend to support whatever you throw at them.
Late last year, a vibe-coded app called BookLore appeared and basically brought over everything Calibre did but with much better UX and e-reader integration. The original dev crashed out[0], but the community picked up the project and started reigning in the worst of the slop and maintaining it as Grimmory [1]. It's pretty damn good.
There is also a book fetcher called Shelfmark [2] that integrates with Calibre, ABS, or Grimmory.
[0] and he _might_ be currently trying to push another even more vibe-coded competitor, but that's unconfirmed drama
[1] https://github.com/grimmory-tools/grimmory
[2] https://github.com/calibrain/shelfmark
There used to be several options to choose from. Multiple different XBMC forks. Multiples different Subsonic forks. Multiple different DNLA servers. Multitudes of web-based servers. CLI MP3 servers. Independent media centres for a variety of different consoles.
Maybe that’s still available and just not indexed on that site. But I noticed the choices had shrank significantly last year when I was looking for Plex alternatives.
Understanding ffmpeg borders on a specialization in itself. No big surprise that so many of the alternatives have fallen away over the years as people realize the absolute scope of that piece of software.
But if you don’t want to use ffmpeg directly then use one of the many ffmpeg wrappers. Or a different lib entirely like gstreamer or VLC.
Around 15 years ago I built a media centre for my car and the media playback part turned out to be the easiest part of the project.
People that run these services don't want "dynamic stream quality selection".
I can’t recall if Chromium supports that, I have a feeling Google only include that DRM in Chrome. But if it is available in Chromium then you might be able to build an Electron app.
Sounds easy if all you have to do is write a short comment about it. People who actually did it, like the recently retired lead of the Jellyfin project, didn't make it sound like it's "not that difficult".
If you want ot vibe code a project for yourself it's probably reasonable amount of effort. But if you want to build a product, something with polish, something not held together by spit and scotch tape, something reliable, it won't be easy.
Big difference between _audio_ streaming and _video_ streaming servers. Video streaming is much more complex and pretty consolidated, as I mentioned.
Audio streaming is much more manageable: no issues with transcoding, acceleration or subtitling, and a radically simpler UI. Also ID3 tags aren't great but they're a pretty universal standard with lots of databases, you don't need to desperately scrape IMDB/TMBD for info.
As a result there are quite a few music servers, often exposing Subsonic compatible APIs, ranging from the minimalistic to the 'I'm trying to do everything Spotify does'.
They all suffer from the same problems of indexing content. They all have multiple different encoding formats available. And they all need a frontend widget in your client for playback.
I’ve worked with both the audio and video streaming platforms and what you’re describing is grossly inaccurate. The fact that your container format isn’t including video frames doesn’t magically solve any of these issues.
Plus ID3 can be a source of new problems by itself given the way it was implemented…twice.
The answer to every question about how to use/write it is the counter question: well, which software do you want it to work with? Here are your 8 mutually incompatible options.
This is the inherent problem with tech start-ups. Once they solve the problem they were founded to solve, then what? It's feature complete, but investors insist that the line must go up. Can you imagine if `sed` or `vim` was brought to market by a venture-backed company?
IMHO, capitalism and FOSS are fundamentally incompatible.
Perhaps it would have been better to split the product into a simple consumer thing and then a separate enterprise product suite.
A bold statement to make given the world we live in today contains plenty of both, working together, in harmony.
I find stuff like this hilarious. No software project has ever failed, or even slow down one iota, because of the comment style. This is just someone's personal "ick" masquerading as "coding standards."
The fact that we are disagreeing on this point is great evidence that there isn’t an easy to define, proverbial line in the sand.
There is an easy to define line: there is no line. It's not a boundary where "over here is good code" and "over there, not" we just don't have a good idea of where the line is. No. There is absolutely no line.
To be honest, I completely agree with you.
The point I make is that not everyone would. And that disagreement along results in a blurry line as to what some would consider important and what others would not.
Like, I certainly could finish a book where they changed which font/size they were using every chapter or whatever, but why would I want this?
As a father of two boys myself, I know exactly where you're coming from. Like some adults, they'll argue over pointless details and miss the entire thrust of the discussion.
http://borg.uu3.net/~borg/ <- impossbile to replicate using gopher. Is it bloated? Hell no...
That would be a good feature here.
There's also an implicit judgment in your question. Is well-designed, well-tested AI-generated code worse than poorly written, but hand-typed code?
You're asking an extremely reasonable question, IMHO, especially given these are projects with limited resources going up against generally larger, better-resourced projects. AI is an obvious point of leverage in such a situation, and so there is a lot of potential to reverse engineer using AI and get good results.
What all of these requests fundamentally come down to is "How are you filtering for quality?", which is an extremely difficult question given the state of, for example, the app stores.
Heh. I was essentially run out of lobsters for repeatedly asking that question. Not even kidding. At some point I became the second most flagged user in the entire forum. The site itself invited me to delete my account.
After a while I simply asked Claude to define "slop" and posted the answer. To this day it's still the only coherent definition of "slop" in the entire site.
AI involvement is a possible heuristic but I seriously doubt it's all that useful for software (probably works a lot better for books)
I wonder if the site needs a bit more bloat to handle the load, or a bit less.
It would be better to have a pure http site, instead.
Toyota bZ/bZ Woodland, the entire Hyundai/Kia lineup, Honda Prologue, Jaguar i-pace, original Audi e-tron
I haven’t seen the newer Nissan infotainment system, not sure about that one.
Are these without tech? No, not at all, but they do have fast and simple interfaces that are designed to dump you into CarPlay/Android Auto with ease, and a good amount of them retain separated climate controls that live outside the screen.
Obviously if you want something like a 2008 Accord that’s not really going to be a thing, but almost everyone who isn’t Tesla or Rivian is surprisingly conventional. If you haven’t done much EV shopping and your impression of EVs is “they’re all like Tesla where everything is in the screen” that isn’t true at all. For example, Kia/Hyundai EV models have absolutely zero difference between the gas models and EVs in terms of control design.
It is almost 100% equivalent to connecting a second monitor to a laptop, but with a car UI.
You can use Android Auto without any sort of internet connection with offline maps, perhaps an app utilizing OpenStreetMaps. There is no prerequisite to sign your life away to Google or have them collect tons of data from you to use it.
As far as cars having cellular modems, yeah, I guess I’m not a fan of not having the choice to buy new cars without them, but usually they are there for pretty logical reasons. The car manufacturer infotainment system usually has its own software with online-enabled maps and apps, which some people prefer, I guess.
Believe it or not, Rivian has a complete global off switch for data collection, although it disables features like adaptive cruise control. Still, you’d probably be the type to not mind losing that as a trade-off.
There definitely needs to be more privacy legislation surrounding automotive technology, for sure. However, our original topic here was “bloat,” which in the context of automotive technology I take to mean “overbearing software and a lack of intuitive controls for automotive functions.”
For me, if a car has separate climate controls, turn signal stalks, non-haptic steering wheel buttons, and a volume knob, and the screen isn’t wildly laggy, I’m good.
Opencloud is a nextcloud analog rewritten in golang.
Really lightweight and nice!
Wrapping modules to expose additional functionality for a niche in a problem domain is tricky. You will end up with some code duplication and some predictability issues with your timelines, but the end result will be better for it.
Long ago someone convinced me that 'Strangling a Service' could also be applied to APIs. The base module should be as simple as possible but no simpler, and more esoteric features should be shunted off to another module. And then in the case when features are antagonistic to each other, they can live in parallel in separate wrappers.
The tricky part there is writing unit tests in the base to defend the negative space that these features fit into. This feature depends on an invariant in the base API that will break everything if merged.
All the /p/ URLs are in the sitemap, all the site's pages can be retrieved over a single TCP connection
https://debloat.dev/sitemap.xml
This results in a 1.9MB HTML file
Do you mean crawling the entire sitemap and concatenating the results is 1.9MB?
That is exactly what he said, yes.
Would a "1990's style" website offer a sitemap.xml file
Also, in the 1990's it was less common to use "slugs" as URLs; URLs were often unstable, ugly, uncool
https://www.w3.org/Provider/Style/URI.html
NB. I'm not commenting on the website's content or how it was generated/sourced