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

help-circle
  • I don’t think OOP’s nature makes them necessary, so much so as it enables them and popular programming principles encourage them. I think they’re a good thing, especially if there’s a way around them in case you can’t get the public interface changed and it doesn’t work for you, especially for performance reasons, but that should be done with care.

    Funny story, when modding Unity games using external modloaders you’re writing C# code that references the game’s assemblies. And with modding you often need to access something that the developers made private/protected/internal. Now, you can use reflection for that, but a different trick you can use is to publicize the game’s assemblies for referencing in your code, and add an attribute to your assembly that tells the runtime to just… Let you ignore the access checks. And then you can just access everything as public.


  • If it was a single question, that does sound lame, my other thought was that those “online polling tools” might not be viable because you can’t put internal company communications into them… But if it’s stuff like food choices or something, then that might also not be a problem.

    That said, my point still stands - what you describe does sound like what I’m saying. If you make a sheet with a dedicated field to put the answer into, it should be possible to reliably automate pulling out answers from all the files with excel-level knowledge, and without any additional sites or servers, just spreadsheet editing software and email.




  • I think most of the work is in the fact that there often isn’t an “equivalent call”, and it can be quite a lot of code to make it work. One funny thing is the whole esync-fsync-ntsync issue, where synchronization is done differently on Linux and on windows, and translating it was a big performance hit, and difficult to do accurately. If I understood correctly, esync, fsync and ntsync were a series of kernel patches implementing additional synchronization code in the kernel, with ntsync actually replicating the windows style.





  • Now it seems every tutorial I see is really just clicking around in a gui. Very little actual typing of code, which is the part I actually find cool and interesting.

    Not sure where you’re seeing “just clicking around in a gui”, but if you like computer games, there’s some fun gameplay you can have while coding. Some of those very much contributed to my experience.

    BitBurner is a free idle incremental programming game, where you write scripts to hack things to make money to begin with, progressing onto both progressively more complex mechanics (how about automating a manufacturing corporation with a script?) and utility scripts to automate things you’ve been doing manually.

    If you like Minecraft, there’s fun to be had with ComputerCraft, scripting things in Lua. With some add-ons (Plethora IIRC) you can access chest inventories via cable and transfer items between them, and set up your own fully automated storage system with recursive autocrafting, as just one example.

    Or how about modding games - if there’s a Unity game you enjoy that doesn’t use IL2CPP, like Risk of Rain 2, it’s very moddable using C# and interacting with Unity APIs, and for advanced stuff modifying the underlying IL that C# compiles to. Quite a lot you can learn, and if you stick to pure code mods to begin with, not that hard to get started - though code mod means nothing like new items, new enemies, new characters, buildings etc. since adding models/textures/sounds tends to be more involved.



  • This is certainly an odd suggestion, and not what you’re really asking for, but makes me think of Space Station 13. It’s a janky round-based multiplayer roleplay/social intrigue game. It’s free, and the game is opensource (though not the engine), which also leads to there being many servers with unique variations. It’s cheating to suggest a multiplayer game when talking about single player natural language processing games, but using actual players is probably the easiest way to pull it off.

    The reason it reminds me is because on a roleplay server, you’ve got something like 20 people, each with their job to do, talking to each other, talking on common radio, etc. - and if you’re lucky, a player playing as the station AI, complete with a (modifiable) lawset they have to follow, Asimov’s laws style. And of course, a few antagonists that have objectives to do.

    If you’re curious, I personally recommend BeeStation, though there are a lot of fine choices for the server, just maybe stay away from the 18+ ones.




  • That actually sounds like a fun SCP - a word that doesn’t seem to contain a letter, but when testing for the presence of that letter using an algorithm that exclusively checks for that presence, it reports the letter is indeed present. Any attempt to check where in the word the letter is, or to get a list of all letters in that word, spuriously fail. Containment could be fun, probably involving amnestics and widespread societal influence, I also wonder if they could create an algorithm for checking letter presence that can be performed by hand without leaking any other information to the person performing it, reproducing the anomaly without computers.



  • I’m confused. It’s based on arch but not really? Is it arch based or not? Does it use any arch package manager? The post raises a number of new questions

    The answers to that seem pretty obvious to me: yes, it is based on arch. No, it does not come with a package manager. Presumably, they use Arch packaging tools and package definitions behind the scenes in some way, but the end result is a premade immutable system image.


  • I really hope not, that feels like crypto all over again, with inconsistent payouts and varying electricity prices… And on top of that probably awful service since people tend to have the weirdest internet connections.

    Though if you remove the part where it’s used to stream games to other players, that sounds too niche to be viable, but could be cool. If going in that direction, I’d imagine it more likely to be gaming servers for businesses, like VR gaming spots, where they have multiple gaming computers hooked up to headsets.



  • I think I was using an NVidia GPU up until about 3 years ago, when I switched to AMD when upgrading, so my knowledge on that front is a bit outdated.

    The arch wiki has more information if you’re curious, but I’m aware of official proprietary drivers, official partially opensourced drivers, separately packaged legacy drivers, and the unofficial opensource Nouveau drivers which weren’t really usable back then.

    What you’re describing sounds odd to me, but looking it up, sounds like Fedora doesn’t package official drivers? I’m having trouble finding proper information on this, but it could be for ideological reasons, since those drivers are proprietary - so the default drivers might be Nouveau, which might be rather broken, both because of lack of workforce and NVidia blocking unofficial drivers from using their devices properly.

    If that’s the case, it’s basically a conflict between ideology and usability within that distribution - it might seem like a great distro for users, and it might be competently made, but when somebody doesn’t care about the ideology and just wants their device to work, they’ll end up with confusion and work to do.