Mama told me not to come.

She said, that ain’t the way to have fun.

  • 2 Posts
  • 41 Comments
Joined 2 years ago
cake
Cake day: June 11th, 2023

help-circle


  • I think it’s a chicken and egg problem. A FOSS Roku-replacement needs apps to make get popular, and manufacturers won’t port their apps until it’s popular. Basically, manufacturers need someone with a big marketing budget to help them feel comfortable investing in a platform, but that’s not going to happen with a nice FOSS platform.

    Maybe if we collectively raise like $100M or something, we could put together a big enough marketing budget to convince some of the bigger names (Netflix, HBO, etc) to take the risk, and the rest will follow if it’s popular enough. Maybe.





  • Check out the POSIX driver in OCIS/OpenCloud. It should keep the responsiveness of Seafile, while having a sane disk format.

    Or you can try out the Seafile FUSE layer.

    I’m in a similar boat, and I’ve been testing out Seafile and ownCloud OCIS, and I think I prefer OCIS. I’ll probably switch to OpenCloud though, since it seems a lot of the OCIS devs went there due to issues w/ management.

    Some things I didn’t like about Seafile:

    • complicated to set up - I wanted to throw it in a container, and that made it a lot more complex
    • weird codebase - a lot of it’s in C, and some is in Go - not sure if they’re switching to Go eventually, or if it’s a one-off thing
    • they only support MariaDB/MySQL, and I really want to avoid that - OCIS lets me just use the filesystem, which is really nice

    But hey, if it works, it works, so don’t mess w/ it.




  • Here’s my opinion:

    • get 1G WAN - it’s a huge upgrade, and you probably won’t notice going much faster unless you’re downloading/uploading a lot of stuff over the internet; it’s probably substantially cheaper
    • consider 2.5G LAN, if it’s not much more expensive than 1G - fast transfers over your LAN are much more likely to be noticed than transfers over the internet
    • put in CAT 6 cables at least, since that’s capable of 10G in case you decide you want it; it’s not much more expensive than 5E (1G capable), and then you won’t need to redo it later; or better yet, run fiber everywhere, though that’s more of a pain

    Then upgrade anything that’s <1G on your LAN, and leave the rest as-is until you actually need it. Chances are, you won’t, and it’s not worth spending the money. Prices for 2.5G and 10G (and higher) will eventually come down, so put it off until you actually need it and you’ll probably save money in the long run.

    In terms of what It takes, I think others gave good insight. Here’s my basic summary:

    • expensive router and switch - copper can do 8G, but you’d probably want fiber if there’s a chance your ISP will offer upgrades
    • start converting to SFP+, since that’s likely what you’ll want when upgrading things in the long run
    • some kind of mesh WiFi network - higher bitrates tend to be at higher frequencies, which have poor penetration; starting out w/ a mesh means it’ll be easier to swap out APs as you increase bitrates/solve signal issues in various rooms
    • run lots of cable - the best mesh is one that’s backed by cable

    It’s going to be expensive supporting anything over 2.5G in an entire network. Honestly, 1G is probably fine, and you can upgrade things more incrementally as you decide to improve speeds between endpoints (big ones are anything that handles high bitrate video).




  • I have a bunch of other reasons elsewhere in this thread, but I just wanted to back you up here. Go is a lot easier to deal with than PHP in many ways, and it has a lot of tools to track down issues, while also have a lot better performance. And I don’t even like Go that much (used it for the better part of a decade, pretty much since 1.0), and I much prefer Rust. But Go is 100% a good option for this use-case, since it’s mostly short-lived requests with relatively simple logic, so the various footguns I dislike about Go aren’t particularly relevant (and are way nicer than the footguns in PHP).

    PHP feels like it “evolved” with hacks on top of hacks, and it’s sort of being cleaned up now. Go feels like it was “designed,” with conscious choices being made from the outset, so everything feels a lot more consistent. That makes it easier to spot bogs, performance issues, etc. Go is just the better option here, and it’s not close.



  • I’m not OP, but here are my reasons:

    • needs a webserver to be configured properly, in addition to the application itself - most other projects handle the server itself, so I can simply reverse proxy to it
    • recent security audit found a variety of vulnerabilities - PHP has been known to have a lot of security vulnerabilities, and it’s commonly targeted due to popularity and the prevalence of these vulnerabilities; using literally anything else reduces the likelihood that you’ll be targeted by script kiddies
    • since it doesn’t run an active server, things like WebSockets are wonky - AFAICT, Nextcloud solves this by using a separate Rust binary, which is weird
    • using the templating feature (i.e. the whole point of PHP) takes a lot of resources vs client-side rendering, so the main sell of PHP is architecturally suspect
    • I don’t use it, so if I needed to fix a bug, it would be a lot of work; I’m a lot more familiar with other languages, like Go, Rust, and Python

    There are a bunch of other reasons I strongly dislike PHP, but hopefully this is enough to show why I generally prefer to avoid it. In fact, Nextcloud is my only PHP-based app, and I’m testing out OCIS now (will probably try OpenCloud soon).