Mama told me not to come.

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

  • 1 Post
  • 1.26K Comments
Joined 1 year ago
cake
Cake day: June 11th, 2023

help-circle







  • One that I wasn’t sure about asked about a NAS. It seemed the question was about dedicated NAS devices, and I built my own NAS (desktop PC + drives + btrfs + samba, etc).

    I answered “no,” but I think it would be interesting to capture that distinction in the next one. I.e. Do you use a NAS product?

    • Yes (commercial)
    • Yes (DIY)
    • No

    And then a follow-up about what that NAS offers (i.e. just NAS stuff, or can it host apps?).


  • Then you’re all clear.

    I personally want my Jellyfin to be on the WAN, and I have certain devices on my internal network VPN’d to my VPS, which exposes the services I want to access remotely. But if you don’t need that, using the local addr in your DNS config totally works. Getting TLS certs will be complicated, but you don’t need that anyway if everything is local or over a VPN.





  • Good point, I’ll consider MOCA. The main problem is that we have three sets (OTA antenna, satellite, and internet), and I’m not sure which are which, but figuring that out should be quite a bit easier than running cable. :)

    I’m not planning on getting anything more than gigabit in the near future, though my city is rolling out fiber and claims to support up to 10gbit.


  • Yeah, I don’t understand why JBOD with a decent chipset is so hard to find. I really don’t expect much from it, I just want to slide some drives in and have everything run consistently for a few months at a time. I’ll power cycle periodically to apply updates, so I’m not looking for 24/7/365 operation or anything.

    FWIW, Level1Techs seems to recommend MediaSonic (timestamp is where he talks about reliability), but doesn’t give it a ringing endorsement. And that was one of the better ones he’s seen…

    After a bunch of research, what I’ve found is:

    • okay chipset, but garbage build quality (no dampening for drives, no hot-swap, etc)
    • fancy controller that doesn’t support JBOD - non-starter for me, I don’t want anything to do with hw controllers
    • expensive - at a certain point, I’ll just keep my oversized ATX case that does the job

    Now I’m looking for compact cases that support 5 drives, like this one (a little too cheap perhaps?) or this one. It just seems reliable 4-5 bay USB-C enclosures just aren’t that popular.


  • Makes sense for single drives, but if I go with USB, it’ll be something like this with multiple bays, which will almost certainly support UASP. I also don’t want a hardware RAID controller because I’d much rather my BTRFS filesystem handle the individual drives than rely on some controller to not corrupt my data.

    The problem, however, is that a lot of these enclosures use really crappy components. Sometimes drives will drop off for no reason and the entire unit will need to be power cycled. They also tend to require a separate power supply, which is also annoying. But if there’s a super high quality one for pretty cheap, the entire package (mini PC + enclosure) is probably smaller than pretty much any equivalent case. So I’m interested, I just haven’t found a good fit.



  • Yeah, that’s what I’m worried about. Fortunately, the previous owner seemed obsessed with phone and coax jacks, so almost every room has at least one of them. I could just run ethernet over those jacks, but I might be able to attach a string to them to pull in a proper ethernet cable. Then again, maybe I’ll just end up needing to drill new holes, idk.

    I’m just not looking forward to doing it is all.



  • I kind of disagree here. .lock() has the following behavior:

    • panic() if the lock is already held by this thread - should never happen
    • error - if the current lock holder paniced

    The second case is incredibly rare, so it’s one of the few cases where I think .unwrap() makes sense in production code. But it should be an option to handle it in robust code that should never go down. This is rare, but it’s not so rare that we should force all locks to exist in a context where we can recover from panics.

    .try_unlock() should never exist because there should only be one way to release a lock: drop(). Having a way to maybe unlock a mutex adds a ton of issues. If we assume this was a typo, .try_lock() absolutely exists, and it’s for a non-blocking lock.