• 35 Posts
  • 267 Comments
Joined 9 months ago
cake
Cake day: February 10th, 2024

help-circle

  • It’s a bit of a leap to say the “owner” changed. Ryujinx is MIT licensed, allowing anyone to clone the original code locally, build upon it, and publish it to a public host. Looks to me like that’s what happened here: a fork, but without using github’s built-in “fork” feature, perhaps to avoid being included in a mass take-down. There are others on non-github sites, although I don’t know if they have been getting new commits.

    I don’t see any reason to think the original repo was renamed or moved to another user’s account. The top contributor is gdkchan presumably because gdkchan’s commit history was preserved.

    For the record, gdkchan’s last commit to the original repo was on 2024-10-01.

    Edit: The README confirms what I thought:

    This fork is intended to be a QoL uplift for existing Ryujinx users. This is not a Ryujinx revival project.






  • I’m pretty sure they don’t block sdf. That’s where I am, and I’ve had several interactions with Beehaw folks while here. :)

    Fun fact: Beehaw and sdf are among the few well-known instances that don’t hand their users’ traffic (all their activity on Lemmy) over to Cloudflare.








  • Unfortunately, I don’t think D is good enough to prove your point. From your follow-up comment:

    A language that for all intents and purposes is irrelevant despite being exactly what everyone wanted,

    As someone who uses D, I can attest that it is not what everyone wanted; at least not yet. Despite all the great things in the language, the ergonomics around actually using it are mediocre at best: Several of its appealing features quickly turn it into a noisy language, error messages are often so obtuse as to be useless (especially with templates and contracts in play), and Phobos (the standard library) is practically made of paper cuts. Also, the only notable async support is a fragile mess, and garbage collection is too deeply embedded into both the stdlib and the ecosystem.

    (To be fair, D could be vastly improved with better defaults and standard library. That might happen in time, as Walter and the other maintainers have shown interest, but it’s just wishful thinking for now.)

    Also, D is an entirely different language from C++, and as such, would require code rewrites in order to bring safety to existing projects. It’s not really comparable to a C++ extension.



  • Given how long and widely C++ has been a dominant language, I don’t think anyone can reasonably expect to get rid of all the unsafe code, regardless of approach. There is a lot of it.

    However, changing the proposition from “get good at Rust and rewrite these projects from scratch” to “adopt some incremental changes using the existing tooling and skills you already have” would lower the barrier to entry considerably. I think this more practical approach would be likely to reach far more projects.







  • as said in computer science it has accepted by most people (for the sake of having categories) that CPU emulation is emulation, and otherwise its not.

    It’s important to keep in mind that things said in computer science for the sake of having categories are usually said within the very narrow implicit context of a particular field of study, like microprocessor design. It makes sense there for the sake of brevity, just as arcane acronyms make sense when everyone in the room understands what they stand for in that context. But the context no longer applies when we’re out in the rest of the world using a word that is not so narrowly defined, as we are now.

    I think we mostly agree, because you pointed this out yourself:

    It’s a “domain specific” language; which means, you have to specify it before in order to make use.

    However, I want to clarify my position in response to this:

    nobody has the right to act like having a clear definition and saying anyone else is wrong.

    I often encounter people on social media chiding or mocking others for referring to Wine as an emulator, which is disheartening for a number of reasons. Importantly, the people reading such comments are being taught that it’s wrong to call Wine an emulator, when in fact it is not wrong at all. Wine’s very purpose is to emulate. This is plainly visible not just in how it is used, but also in how it is developed (many of its behaviors are reverse engineered Windows behaviors, departing from the API docs) and how it functions (it does a heck of a lot more than translating system calls).

    The Wine project’s FAQ acknowledges the misunderstanding, a bit indirectly, by pointing out that it is “more than just an emulator”.

    Unfortunately, since most people in the discussions I mentioned have no visibility into Wine’s internals, they don’t know any better than to accept what they were told by multiple people on the internet. They are misled by a smug few who love to tell others they’re wrong by repeating that officially abandoned slogan that was never really true (at least not in the context that framed it) in the first place. And then some of the misled people adopt it themselves, so we end up with more of the “you’re wrong” attitude, perpetuation of a ridiculously narrow understanding of the word, and people who publish about the topic performing awkward linguistic gymnastics to avoid simply saying “emulator” for fear of rebuke.

    I think all three of those results make the world a little worse, so I’m here to let everyone reading know that it’s perfectly appropriate to call Wine (or Proton) an emulator. Anyone who claims it’s wrong to do so is perhaps a hardware field specialist who has lost sight of the importance of context in language, or (more likely) either honestly mistaken or an internet troll.