Mama told me not to come.

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

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

help-circle


  • Yes, but it can start at the state legislature, which is a lot easier. But you need a lobbying campaign to get anywhere. Louis Rossmann has made some progress this way by banding together with farmers, and while it’s painful and expensive, it does work.

    So if we’re going to do something in the US, we need a lobbiest, a lawyer (to draft a bill), and a lot of people to show up and give testimony. But we only need to win in one state, and then it gets a lot easier. So:

    1. Pick a state with good consumer protections and a market segment that’s somewhat rated to what you want (video games probably won’t work, but other software could)
    2. Work with pissed off companies to put together a lobby
    3. Find a few reps that care (e.g. the reps for those companies’ districts), and get them to sponsor your bill
    4. Appeal to regular people saying this is a stepping stone to what they actually want
    5. Get people to annoy their reps, show up to hearings, etc in support of the bill
    6. Get the bill to the floor (crazy amount of effort)
    7. If the bill passes, start the process over in the next state, which should go smoother

    Once you have legal precedent, repeat the process with a small expansion to the thing you actually care about. This should be a lot easier, because you’re just expanding the same rights to more types of customers.

    It’s much more of a long shot, but it does seem possible.


  • adds to its security and ease of handling

    PHP… security?

    Any security you get from running as a separate process/thread is undermined by sloppy language semantics and standard library. The built-in “mysql_” library was atrocious and stayed in the standard library for years (removed in 7.0, ~10 years after the previous release). Errors at least used to be really inconsistently communicated (sometimes need to call another function to check error status, sometimes returns 0 or - 1, sometimes raises exceptions). Types are pretty loose and subtly change type (e.g. when an int overflows, it becomes a float?). Variables spring into existence when you use them, so no warning about typos, shadowing, etc.

    The language wasn’t really designed, it evolved from a simple templating engine to a full fledged language, and it cleaned up a little along the way. But a lot of the old cruft still remains.

    super fast and easy to setup and get going

    Yeah, that was always the goal. All you need is a webserver and a directory of scripts and you’re golden.

    But lowering the barrier to entry comes with costs. It encourages people to just copy and paste crap until it works, I know because that’s exactly what I did when I first used PHP (JS w/ jQuery is the same way). This encourages a “just get it working” mindset instead of actually understanding what’s going on.

    You can certainly write good PHP code, my point is that it actively encourages cludgy code, which means security holes, and the best example is the language and standard library themselves.

    Web sockets work just fine

    Do they? I assume they hog a whole process/thread for themselves instead of being efficiently managed in something with proper async tooling, so it sounds like it would scale horribly. What happens if you have a million open websockets?

    They did an audit and found issues? Great, I applaud people searching and finding issues. Shall we do the same for Rust, go, or chuckle JavaScript?

    Yes. I would be very surprised if Go or Rust yield even a fraction of the vulnerabilities as PHP. Even if we expand the scope a bit to a full-fledged web server framework. And that’s with all the server bits, while PHP only worries about its standard library.

    I’ve used each of those languages. I’ve built sites in PHP, Go, and Rust, as well as Python and JavaScript (nodejs). PHP is by far the jankiest, and that’s including all the footguns w/ Go’s concurrency model.


  • Awesome, thanks! This is literally the first time I’ve seen this petition, so I appreciate the extra info. I also wasn’t sure if it was part of Stop Killing Games or a separate initiative (looks like it’s at the 26min mark of the first video).

    I’m in the US (looks like Ross Scott is too?) so I obviously can’t sign it, but I am very much interested on the outcome since it’ll likely impact me. If it’s strictly limited to SP games, that’s a lot less interesting since that can easily be region locked (so it would just be the same as piracy for me), but if it also forces release of server code, then I’m getting something I couldn’t before.

    For US people, there’s still hope. It looks like Louis Rossmann is pissed off about this as well, but from a regular software perspective (Odyssee and YouTube), so he might try something similar to what he did with Right to Repair. He has a bit wider reach and probably a very different audience, and maybe he can help get something going in the US.

    Thanks for the links, I’ll see what I can do to spread the word.






  • Exactly!

    I’m a parent, and I set a good example by being incredibly respectful to people, whether it’s the cashier at the grocery store, their teacher at school, or a police officer. I show the same respect because I’m talking to a person.

    When I’m talking to a machine, I’m direct without any respect because the goal is to clearly indicate intent. “Alexa play <song>” or “Hey Google, what’s <query>?” They’re tools, and there is zero value in being polite to a machine, it just adds more chances for the machine to misinterpret me.

    Kids are capable of understanding that you act differently in different situations. They’re super respectful to their teachers, they don’t bother with that w/ their peers, and us as parents are somewhere in between. I don’t want my kids to associate AI/LLMs more with their teachers than their pencils. They’re tools, and their purpose is to be used efficiently.



  • Right, but the petition explicitly says it’s not expecting any additional resources.

    neither does it expect the publisher to provide resources for the said videogame once they discontinue it

    If that was the intent, the petition should have been more clear, saying it expects any resources not part of the downloaded game but necessary for the full experience to be made available once the game is discontinued, perhaps specifically calling out server code.

    If this turns into a bill, I fully expect online content to be excluded since that would require more than just removing the “phone home” bit of games.


  • Many games have mixed experiences, some multiplayer, some single player. Take COD, for example, it has a SP campaign, but most people play it for the MP experience. if they disable the MP experience, the game is technically playable since the SP campaign still exists.

    This petition seems to focus on “phoning home”:

    An increasing number of publishers are selling videogames that are required to connect through the internet to the game publisher, or “phone home” to function. While this is not a problem in itself, when support ends for these types of games, very often publishers simply sever the connection necessary for the game to function, proceed to destroy all working copies of the game, and implement extensive measures to prevent the customer from repairing the game in any way.

    This sounds very much like it’s focusing on preserving the SP experience and forcing publishers to remove any artificial limitations on that experience once they stop supporting the game. Nothing in the petition sounds like it’s talking about multiplayer functions.

    Here’s the part about being “playable”:

    The initiative does not seek to acquire ownership of said videogames, associated intellectual rights or monetization rights, neither does it expect the publisher to provide resources for the said videogame once they discontinue it while leaving it in a reasonably functional (playable) state.

    So they’re explicitly not asking for the publishers to provide anything new (i.e. the game server), it’s only asking for limitations to be removed (i.e. phoning home).

    This is still an important petition, but it doesn’t seem to say what you’re arguing it’s saying.


  • Exactly.

    And it’s something that only applies to a fairly small subset of people. If we look at Steam users (decent indicator of people passionate about games), Germany has the highest in the EU at 3.6M. 3.6M is ~4.3% of the German population, so if we extrapolate to the EU, that’s ~19M Steam users.

    If we assume that’s an accurate measurement of people who would be interested in this petition, you’d need 1/20 of them to sign. I’m not in the EU, so I don’t know how popular these petitions are or what the requirements are (do you need to be voting age?), but if I assume a lot of people who play games are young, and that young people tend to be fairly uninterested in politics, getting 1M signatures would be incredibly difficult even if it’s something that all games agree with (and I would imagine most would care about this at some level).

    So yeah, getting >400k signatures for something like this sounds like amazing success.


  • Never point your DNS at two different IP addresses like this. It will only cause you pain and unexpected behaviour.

    Why?

    I have a similar setup, but to add to the problem, I’m also behind CGNAT. Here’s my setup:

    • LAN - 192.168… addresses
    • WAN - 10… address from ISP
    • VPS - public address

    To access my LAN from outside, I have a WireGuard tunnel to my VPS.

    The address my DNS resolves to is absolutely unrelated to any addresses my router understands. So to prevent traffic to my locally hosted resources from leaving my LAN, I need my DNS to resolve to local addresses. So I configured static DNS entries on my router to point to local addresses, and I have DHCP provide my router as the primary DNS source and something else as a backup.

    This works really well, and TLS works as expected both on my LAN and from outside my LAN. The issue OP is seeing is probably with a non-configured device somewhere that’s not querying the local DNS server.






  • PHP isn’t complex, you just need a webserver (nginx, Apache, etc) and PHP. That’s one process (webserver) that runs a few child processes (PHP scripts). When using PHP fpm, use two containers.

    Each container should run one process. Each container can run whatever base you want. If you want a newer PHP on an older image, go for it! Nobody is forcing you to use the repo version of PHP, you can install it separately. More complexity should mean more containers, not more complex containers.