• 1 Post
  • 183 Comments
Joined 1 year ago
cake
Cake day: July 2nd, 2023

help-circle
  • I’m not sure if ActivityPub allows for an extension like that. And I mean if you open up a separate direct channel via TURN… It’ll be incompatible with something like Mastodon anyways, so I then don’t see a good reason for why to bother with the additional overhead of AP in the first place. I mean you could then just send the status updates in some efficient binary representation as data packets directly do the other players. So why use ActivityPub that needs to encode that in some JSON, send it to your home instance, which handles it, puts it in the outbox, sends HTTP POST requests to the inboxes of your teammates where it then needs to be retrieved by them… In my eyes it’s just a very complicated and inefficient way of transferring the data and I really don’t see any benefits at all.

    So instead of extending AP and wrapping the game state updates into AP messages, I’d just send them out directly and skip AP altogether. That probably reduces the program code needed to be written from like 20 pages to 2 and makes the data arrive nearly instantly.

    I suppose I could imagine ActivityPub being part of other things in a game, though. Just not the core mechanics… For example it could do the account system. Or achievements or some collectibles which can then be commented and liked by other players.





  • h3ndrik@feddit.detoSelfhosted@lemmy.worldCloudflare is bad. Youre right.
    link
    fedilink
    English
    arrow-up
    13
    arrow-down
    2
    ·
    edit-2
    4 months ago

    Well, centralization and giving up your freedoms, letting someone else control you, is always kinda easy. Same applies to all the other big tech companies and their platforms. I’d say it applies to other aspects of life, too.

    And I’d say it’s not far off from the usual setup. If you had a port forward and DynDns like lots of people have, the Dns would automatically update, you’d need to make sure the port forward is activated if you got a new router, but that’s pretty much it.

    But sure. if it’s too inconvenient to put in the 5 minutes of effort it requires to set up port forwarding everytime you move, I also don’t see an alternative to tunneling. Or you’d need to pay for a VPS.





  • Agreed. I think most prominently competitive gaming; development where you need to assure it later on actually works as intended on the target platform; and business stuff where parties are obliged by contract to guarantee something works flawlessly and keeps running that way - are good examples.

    That laptop doesn’t look to me like it was intended to do any of that, so that’s maybe why I’m being a bit negative here. It’s cool and a nice idea, though…

    (And we already have ARM-based retro machines, FPGA clones if popular processors available. So there is no need for them to do the exact same thing.)


  • The M6117C also isn’t the original and not that old. Also the 8MB of RAM aren’t true to the original.

    I’m not sure. I occasionally use emulation. And I think it’s fine. Unless you’re a speed runner and need everything to be exact to the frame timing, you won’t notice. Certainly not for a desktop UI like the Win 3.11 on the photo. I guess it depends on the use-case.

    Something like a FPGA or an ESP32 can also be repaired, replaced, programmed and most of the things a CPU or different architecture can do. And if the emulation layer doesn’t have too many flaws, it’ll be pretty realistic. Not exactly the same thing, but I think it’ll do for practically any use-case. And it comes with other benefits.

    I think you’re allowed to do it just for the sake of it. But I often see people using an original SNES because “emulation is shit” and then they proceed to connect it to the TV set in their livingroom, which isn’t even close to the original experience because it adds lots of latency and doesn’t have interlacing and the colors are different than on a CRT, too. I think that’s just having strong opinions despite being uneducated. And I think I’m equally as well off with my Raspberry Pi and Emulationstation. (Which can also run DOS games.)

    In the end everyone is entitled to their opinion. But this also isn’t the original (You can get an old Laptop… I have one with an 486.) But this isn’t the original but a replica. And it’s debatable (in my opinion) whether it’s the CPU architecture that does the realism, or other factors. I think for realism, you’d need a black and white liquid crystal display, a NiMH battery that degrades fast if you don’t charge it right and half the amount of RAM at most. And maybe just a floppy drive. The CPU is something you wouldn’t notice with the current state of technology.





  • I installed it like 2 weeks ago. As of now it’s still running and has a really low memory footprint compared to Synapse. But a lot of things aren’t implemented. Chatting works fine. I get a lot of warning messages about not implemented things, though. Like my client (FluffyChat) trying to query some profile status … I’d say try it. I’ve done so. But I can really only give some good advise after a few more weeks of using it. Maybe there is a dealbreaker.



  • Yeah, you’re not doing it right. On Github you have to click on “Insights”. And alike Lemmy which is split into two parts, llama.cpp also has a backend called ggml that does the (tensor) maths. Combined, the git stats are as following for the last four weeks:

    • Lemmy (+UI) 207 files changed, +7,841 additions and -6,472 deletions
    • llama.cpp (+ggml) 707 files changed, +157,754 additions and -95,611 deletions.

    So they definitely touch a lot more code regularly. Whichever PRs you clicked on, they added 50 times as much new lines of code in the same timeframe. And coding things like that is maths heavy and you also need to read the scientific papers and implement the maths. And they did quite some maths themselves and contributed their quanitzation techniques and benchmarked and studied them in addition to the coding. I’m really impressed by the guy. And he seems nice and attracted quite some contributors with his excellent and fast software. Reviews and comments their ideas and integrates them fast. And now it’s a flourishing project that leads in its field. And the project isn’t even that old…

    I get it. Software development isn’t that easy. Especially the ‘touching different parts of the code’ is something I don’t really like. I mean it is like it is. And having architectural patterns like this is fairly common (logic, database, UI) and you have like 2 models of the data, one for federation and then the internal representation. I’m not that familiar with the Rust frameworks and how cumbersome it is to deal with them. With the correct database abstraction toolkit and other frameworks it gets better and you can often tie the stuff together. Also helps with the bugs. If it’s really bad, maybe the architecture isn’t optimal. Or the chosen frameworks suck. Other than that it’s the job of a programmer to tie those aspects together, deal with the complexity and combine it into a working product.

    I’m not even sure if you can assure that Lemmy has no bugs… I mean unit tests, integration tests and reviews won’t cut it with distributed or federated software, right? I mean you’d need to roll out a small cloud of instances and do end to end tests, check if everything federates and if there are performance regressions… I’m not sure where Lemmy is regarding this. I occasionally observe when something big happens like federation breaking.

    Sure. And UI programming is also something that is not really fun to me. I’m also not sure why it hasn’t more contributors. Maybe the atmosphere isn’t that welcoming to new people. Or the userbase in total is just too small. I mean fediverse observer reports like 50k Lemmy users, and that’s not that much people if we’re talking about the subset of people who learned programming and have the spare time to contribute. Maybe it’s too interlinked with the rest of the code or not documented enough. I’d say it’s probably not that attractive to get involved because it’s mainly small bugfixes that can be implemented without also getting involved with the rest of the project. And apart from drive-by pull requests, people usually have some bigger vision when they join a project.