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

help-circle

  • 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.




  • Neither of those points invalidate the idea presented.

    Just because it’s not a uniform distribution doesn’t mean the average changes. Most people learning a thing earlier in life doesn’t change the average rate. Even if literally every single person learned a given fact on their ninth birthday, that still averages out to the same rate.

    As for your second point, you’re conflating “things everyone knows” with “knowing everything”. Obviously people who are 80 still don’t know everything, but it’s not unreasonable to assume they share a pool of common knowledge most of which was accumulated in their early life.

    And even if both of those things were valid criticisms, the thing you’re calling out as “inaccurate pseudoscience” is the suggestion that people shouldn’t be ridiculed for not knowing things, rather we should enjoy the opportunity to share knowledge.