• 0 Posts
  • 33 Comments
Joined 3 years ago
cake
Cake day: June 26th, 2023

help-circle
  • Several years ago I was looking to set up a media server and initially grabbed Plex because I’d heard so much good about it at the time. The moment it asked me to create an account with Plex during setup and I discovered this wasn’t optional I immediately uninstalled it.

    I remain baffled that anyone was okay with needing an externally managed account in order to use software running entirely on their own hardware, let alone the litany of additional enshittification that has happened since.


  • vithigar@lemmy.catoSelfhosted@lemmy.world*Permanently Deleted*
    link
    fedilink
    English
    arrow-up
    13
    ·
    4 months ago

    I will almost always choose .NET as my development platform when greenfielding a project for exactly this reason. It’s an incredibly robust standard library that virtually guarantees I won’t need to pull in a litany of additional utility libraries, and I can also expect that what libraries I do choose to bring in are highly unlikely to drag along a ridiculous parade of dependencies.



  • Depends on what part of “set up” you’re referring to. Getting the software itself up and running is extremely easy. They have versions available for the full swathe of experience levels from “here is a packaged Electron based Windows application” to “here are the node.js source files”. All prior versions are also available if you have specific needs for an earlier version.

    Now, if you mean how difficult is it to set up and run a game, that’s going to vary wildly depending on the system the game uses and how complex of a scenario whoever is running the game wants to deal with. There are lots of off-the-shelf one shots or campaigns you can run where that setup is already done for you though.


  • Couple of things I have running on my home server no one has mentioned yet.

    FoundryVTT is a self-hostable platform for playing tabletop RPGs online. It supports a vast selection of game systems and user/community developed mods making it extremely versatile.

    Pihole is probably something you’ve heard of before and despite the name is hostable on a wide variety of systems. In case you haven’t it’s a network level ad blocker that works by taking over the role of DNS server on your LAN and blocking queries to domains used to serve ads or track telemetry.








  • i is still a value type, that never changes. Which highlights another issue I have with the explanation as provided. Using the word “reference” in a confusing way. Anonymous methods capture their enclosing scope, so i simply remains in-scope for all calls to those functions, and all those functions share the same enclosing scope. It never changes from being a value type.







  • For those of you who’ve never experienced the joy of PowerBuilder, this could often happen in their IDE due to debug mode actually altering the state of some variables.

    More specifically, if you watched a variable or property then it would be initialised to a default value by the debugger if it didn’t already exist, so any errors that were happening due to null values/references would just magically stop.

    Another fun one that made debugging difficult, “local” scoping is shared between multiple instances of the same event. So if you had, say, a mouse move event that fired ten times as the cursor transited a row and in that event you set something like integer li_current_x = xpos the most recent assignment would quash the value of li_current_x in every instance of that event that was currently executing.


  • There are a few options there.

    As someone else mentioned if you’re using IPv6 then it doesn’t matter, you’re already routing internally even if you’re using the public DNS name, no extra work required.

    All the rest are for IPv4.

    If you’re not behind CGNAT some routers/gateways are also smart enough with their routing to recognise when they need to route back to their own external IP and will loop back locally instead of making any hops out to the internet. Again, if this is the case for you then no additional work is required other than perhaps running a traceroute to confirm.

    Another option is to add a local DNS entry for the name you’re using to resolve to a local IP address instead of your public address. The complexity (or even possibility) of this is going to vary considerably with your setup. If you’re running your own local DNS e.g. pihole or similar then it’s trivial. This is how mine is set up.

    If all your clients are going to be on PCs (or devices you have more than the typical manufacturer allowed modicum of control over) then you can do something kind of like the previous, just with all your local hosts files.

    If none of the above are options, then you’ll unfortunately have to fall back on using a local name/address, which means a slightly different client setup for devices you use exclusively in your home versus ones you might use elsewhere.