• 8 Posts
  • 89 Comments
Joined 8 months ago
cake
Cake day: January 25th, 2024

help-circle
  • There are basically two types of files. Text files and binary files.

    Most information are stored in text files so humans can easily understand it, and it’s easier to find errors, review, parse. But text storage takes more space than binary files. And many complicated softwares normally need multiple text files or data files, many of them just store them together as a zip file so that it’s easier to handle. Examples are .docx,.pptx, etc files in MS Office, try unzipping them and see what they contain. Zipping also has advantages of reducing file sizes.


  • That depends on what video player you use. Of we have control of that, then sure it works. I use mpv to play things, so for radio streams or live videos I can go back/forward as long as it’s cached.

    But if it’s the web service, even though the browser video player has something cached, the player is still controlled by the website. And considering most of the people use chrome/chromium derivatives or YouTube app, it wouldn’t be hard for them to make it so that the player itself will collaborate with whatever they want to do.

    If YouTube was a separate organization it wouldn’t have been the problem it is because of how Google has been taking over all the different parts they need for advertising.






  • Those topics seems a little advanced for a Linux user without cyber security knowledge though. I personally don’t understand any of them lol. I know what hardening is, what CVEs are; but except for few anecdotes like the logj4, xz, etc, I don’t think I’d know enough to talk about the cyber security side of linux.

    I was thinking more along the side of daily life things. Like how programmer like linux because it’s easier to develop things and manage environments and cross program compatibility.







  • Thank you for your detailed response.

    I am ok using macros. But even proc macro only get the tokens and using in on the whole mod is unstable unless you use use it on mod sth{...} instead of code being on in a different file (sth.rs).

    The plug-in system is dynamic in a sense that my plans for it are loading them through shared libraries (.dll, .so) compiled separately by users. But I also have internally provided core plugins that come with the program. But rust ABI system is not that stable, so in worst case I might have to ask users to just add plugin code to some directory and re-compile program instead of loading from shared libraries. That’s why I’m trying to make it as simple as possible. Asking users to modify the rust code somewhere else yo register the plugin might be met with resistance.

    I was thinking that using build script to parse the source code and generating those codes could work, but that seemed hacky. So I was trying to see if there are better solutions, as it felt like a problem people might have come across themselves.


  • Thank you. I just put the call with !, I don’t necessarily want a macro solution. Any solution is acceptable, my requirement is that I can just keep adding more mods with functions in src/functions/ and not have to register each function.

    Inventory seems like the solution I am looking for. Although in my case, instead of collecting different values of the same type, I want to collect different types that all have same trait. But maybe I can make a temporary struct with Box<dyn _> member to collect it if trying to collect it directly doesn’t work. I do not plan to support WASM. I am planning to make C/C++ and Python API for the libraries though, so if it has problems with them, then I might have a problem.





  • It’s not fun when you have to explain it. But basically it is based on the infinite multiverse theory. Since the multiverse splits whenever you make choices, in this case the program would spawn a large number of multiverses each with different combinations of those bits, which means at least one of them would have the exactly the combination we want. If the program destroys the multiverse it is in after it determines it is not correct, only reality that remains is the one with correct combination of bytes. Making it that we will get the code we want on the first try.




  • thevoidzero@lemmy.worldtomemes@lemmy.worldI know several people like this
    link
    fedilink
    arrow-up
    4
    arrow-down
    2
    ·
    edit-2
    26 days ago

    That’s not how tax brackets should work. But sadly for last year’s state tax I came across it. [Example numbers] Previously I had 24,200 annual salary but zero tax as it was below 25,000. Even though personal deductions are 10,000, below 25 was considered too low to tax. This year, due to a mistake from employers I was paid for two weeks retroactively, now I have 25,300. Instead of taxing 300 above 25,000 the tax was for 15,300 after deduction. So I had to pay taxes which decreased the money below 25,000 which should not happen if income below 25,000 pays no tax.

    And considering there might be things like not qualifying for financial assistance and other things when you cross 25,000 (again example numbers), the actual benefit of making slightly below that, is higher than making slightly above that…

    So the system is putting a resistance to overcome poverty. Either you start making double of what you are making, or stay on your lane. Because trying to improve your situation by only a little is harmful.