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

help-circle
  • Microsoft’s requirements for Windows 11 include a 1GHz or faster CPU with at least two cores, 4GB of RAM, 64GB of storage,

    All of this is no problem and essentially any computer manufactured in the last couple decades can meet these requirements. They’re effectively irrelevant for this discussion.

    Secure Boot capability, and TPM 2.0 compatibility.

    This is the problem right here. Pretty much every last computer you hear about that isn’t compatible it’s one or both of these, almost always the TPM 2.0 module.

    That of course is if the reason you aren’t “upgrading” is because the hardware isn’t supported. For a great many of us our hardware is supported, we just don’t want all the bullshit anti-features Microsoft has crammed into Windows 11. Windows 10 was already bad enough with it’s constant telemetry spyware, that annoying Cortana garbage shoehorned in anywhere they could manage, the absolute atrocity that they turned the start menu search function into, and the annoying Teams and OneDrive integrations that randomly reinstalled and re-enabled themselves after updates.

    Then MS went and had to cram in even more spyware by way of their horrible copilot garbage. All for what? What are we getting with 11 that’s better than 10? What feature justifies that upgrade? Nothing, that’s the answer. There’s no reason at all that 11 needed to be made.


  • Ah, I see the confusion. Originally you mentioned two Proton services, password manager and email provider. The person who replied to you suggested two alternative password managers (one commercial, the other one FOSS). You then replied saying without a specific email feature it would be pointless, which would be fair for an alternative email provider but doesn’t apply in this case.




  • orclev@lemmy.worldtoTechnology@lemmy.world*deleted by creator*
    link
    fedilink
    English
    arrow-up
    26
    ·
    2 months ago

    Because they need a constant stream of data to feed the models. If people had to opt in then they’d be less likely to do so and the models would starve and become less accurate and therefore less valuable to sell. Remember the trained model is the valuable piece of the entire thing, that’s what companies pay money to gain access to. There’s no point in sitting on all that user data if they can’t turn it into a marketable product by feeding it into a model.




  • You’re being too literal with the term copyright. Fundamentally what copyright has always been about is preventing someone else using your work for their own gain without your permission. In that respect yes, copyright is critical in the digital age. The problem is that it’s a compromise. It balances the rights of someone who has “purchased” a copyrighted work with the rights of the creator.

    Generally the balance that has been struck is that as a purchaser you have the right to do anything that you want with a work except to sell a duplicate of that work. You can sell the work, so long as you no longer retain a copy of it yourself. In practice this means transferring rather than copying. How exactly that’s accomplished gets into the weeds a bit if you start splitting hairs, but what’s important here is the spirit of the thing, nobody is going to care if technically you both have a copy for some short period of time in the middle of the transfer process.

    As for “copy protection” aka DRM that is and always has been complete bullshit because it is a fundamentally intractable problem. There’s exactly one way to enforce copyright and that’s the legal system, anything else is doomed to failure.

    We also desperately need to prevent companies from using that monopoly to prevent older works from being available by having the copyright and not publishing the work

    This is solved by limiting copyright to a short duration after which the work enters the public domain. If a company wants to squander a copyright by sitting on it for the limited time they have it that’s fine but they’re only hurting themselves. The only reason this is an issue now is because of the ridiculous century long copyright terms we currently have. If copyright was reduced to a decade you would never see this happening anymore. That said a safeguard should also be in place to prevent copyright being used as a censorship weapon by the wealthy. I think a “use it or lose it” clause that immediately enters a work into the public domain if it’s not available for some period of time (maybe a couple years) would nip any potential issues there in the bud.



  • You absolutely should not be just ignoring too many requests responses. The entire point of putting rate limits on APIs is to reduce resource usage and while it doesn’t take many resources to serve up a request denied message that amount isn’t zero. If you continue to hammer an API that has rate limited you at some point they will decide your traffic is malicious and just start blackholing all your requests.

    I’m honestly not sure what the best way to do rate limiting would be, I suspect that might depend on a number of factors such as what web client and async framework you’re using, but I would recommend if at all possible using a library rather than rolling your own. The library you found so far seems reasonable enough at least as a first attempt.


  • Well AMD just blatantly copied Nvidia’s naming scheme for their new GPUs so maybe they’ll copy Intel for their CPUs. I mean, they kind of already did, since the Ryzen 9 is basically i9, and the Ryzen 7 is basically i7 etc. It’s mostly AMDs mobile CPUs that have horrendous names, but Intel really isn’t much better in that department.



  • Reading the comments it seems like there may be a bunch of Rust jobs, they’re just not advertised as much and many of them are filled by senior people with expertise in other areas and languages. In particular it seems like a lot of jobs at Amazon in the AWS department use it heavily. It might simply be too new to really see heavy recruiting for new hires yet. In another decade as teams expand and senior people move to other positions or retire we might see a sudden surge in companies looking for Rust devs.


  • Cargo is doing too many things at once. It’s a build system but also a package manager but also manages dependencies? Idk what to even call it.

    Somewhat agreed, but it’s a very difficult problem to solve. No language has yet come up with the perfect build tool. JS is on what, like the 12th build tool in as many years now? Some serious throwing stones in glass houses vibes here.

    Syntax is very confusing for no reason. You can’t just look at rust code and immediately know what it does.

    Strongly disagree on this point. Those extra glyphs in Rust are not just cosmetic, each one means something very specific and conveys very important information.

    Having to pollute your code &, ? and .clone() everywhere to deal with ownership

    You don’t “deal with” ownership, it’s an incredibly powerful tool you use. This just sounds like you haven’t really understood what the borrow checker is actually doing and the hundreds of problems it solves for you. I can not count how many times now I’ve been working in another language and had the thought “I could solve this with the borrow checker”

    Js is way more readable.

    JS is not more readable, JS is just far less detailed. It omits a vast swath of information such that you have almost no idea what it’s actually doing. It feels easier to you because you don’t care about any of the details, but those details become vitally important when things stop working and you’re trying to figure out why. This sounds to me like you’ve never had to write any actually complicated code. If all you’re trying to do is chain together a series of HTTP calls and maybe parse a tiny bit of JSON, yeah, Rust is like using a nuke to kill an ant.

    Similarly, Async code starts to look really ugly and overengineered in rust.

    A little bit, but mostly because doing async right is really complicated. Once again no language has a really great solution to this problem yet, they all involve tradeoffs.

    Multiple string types like &str, String, str, instead of just one “str” function.

    Once again it seems you don’t really understand the difference between owned and borrowed values or stack vs. heap allocation and why it matters. Really there’s only one type of String which is String, the others are just different ways of borrowing a String (with different tradeoffs).

    i32 i64 i8 f8 f16 f32 instead of a single unified “number” type like in typescript. Even in C you can just write “int” and be done with it

    If all you want is a “int” you can just use i64 for everything and “be done with it” as you say, you’ll just be adding a ton of wasted memory and needless overhead for no good reason. Seems like you just don’t like strong typing. I’m surprised you even bother with TypeScript instead of just using JavaScript.

    Having to use #[tokio:main] to make the main function async (which should just be inbuilt functionality, btw tokio adds insane bloat to your program) yet you literally can’t write code without it.

    You absolutely can write code without using #[tokio:main], you can even use tokio without that, it just saves you having to write a bunch of boilerplate to initialize tokios executer and pass your async functions to it. You can even use async functions without tokio, you just need to provide your own executor. Async in Rust is still pretty new and some of the rough edges are still being worked out, it will get smoother, but honestly the things you’re complaining about aren’t even the annoying parts about it.

    Speaking of bloat, a basic get request in a low level language shouldn’t be 32mb, it’s around 16kb with C and libcurl, despite the C program being more lines of code. Why is it so bloated? This makes using rust for serious embedded systems unfeasible and C a much better option.

    I have no idea what you’re doing to generate code sizes like that, but I guarantee you could get a significantly smaller program in Rust that does exactly what the C code is doing. As for embedded this is patently false. I personally use Rust regularly on embedded devices that don’t even have 32mb of RAM on them.

    With cargo you literally have to compile everything instead of them shipping proper binaries. Why???

    This isn’t a cargo thing, this is a Rust compiler thing. The Rust ABI hasn’t been standardized which means currently there’s no guarantee that Rust code compiled by one version of the compiler can successfully link against code compiled by a different version. Until not that long ago C++ actually had the same problem. This will eventually get fixed, but the language team feels things are still moving too fast to define a concrete standard yet.

    Another major issue I’ve encountered is libraries in Rust, or lack thereof. Every single library in rust is half-baked.

    Rust is still pretty new, so a lot of libraries are still in active development, but there are already many excellent and very well documented libraries. Axum is literally one of the newest web frameworks in Rust and didn’t even exist that long ago. I’ve seen far worse documentation for JS libraries (and don’t even mention C, the gold standard there is practically a man page that’s just a glorified header file).

    As for “memory safety”, it’s a buzzword. Just use a garbage collector.

    Memory safety is not “just a buzzword”, there’s a reason all the top vulnerabilities for decades now are all memory safety issues. As for a garbage collector, good luck with that when writing embedded software or a kernel.

    The rest of your rant basically boils down to “my particular simple use case doesn’t see much value from what Rust provides”, which is fine. If you don’t need the power of Rust, use something weaker, not every problem needs the nuclear option, sometimes you just need something quick and dirty that will run a few times before it falls over. Hell, sometimes a quick Perl script is the right solution. I mean, not often, but it does sometimes happen. When you do find a problem that your quick and dirty approach isn’t working on then you’ll see the value in Rust.



  • No, it won’t. They’ll just relocate to China, or maybe a super yacht out in international waters. They’ll continue milking every last cent out of the US until it’s a dead dried up husk of a nation and then they’ll just move to the next one. Their supporters are too stupid to realize where the end of the path they’ve been told to walk is going to take them, and they’d rather blame anyone else but themselves for all the problems they face. So no, a space race with China won’t fix shit.


  • More specifically kill normally sends a SIGTERM which is the equivalent of clicking the X button in Windows. It’s a polite request that the program close itself. Signal 9, also known as SIGKILL shuts the program down immediately and is the equivalent in Windows of opening the task manager and pushing the end process button. It terminates the program immediately without giving it any time to do anything it might still have pending, but in the event that the program is unresponsive might be the only way to successfully close it.