• 75 Posts
  • 824 Comments
Joined 2 年前
cake
Cake day: 2023年6月15日

help-circle







  • You can even talk about Gaming community, even if its a much wider audience and diverse than everything about Rust. What a “community” is, is defined at the moment of “talking about it”, and depends on the context. If the person thanks to the Rust community in a “random community”, then it does not automatically mean thanking to this sub community only. What I mean is, I think, the person here thanks to everyone involved by Rust.


  • The intent was on better TPM security after a prior security demonstration showed TPM key recovery from Microsoft Windows BitLocker as well as TPM sniffing attacks.

    I am not sure if this is a good change. Isn’t this “dangerous”?

    The hope is that now it’s disabled by default, the Linux kernel developers can spend more time evaluating the security benefits and performance optimizations to make it worthwhile to re-enabled by default in a future Linux kernel version.

    I’m confused. They disable security feature and then want spend time on the benefits and performance optimizations, to possible enable it again?


  • I explicitly only use it with features --derive. It let’s you write the cli option setup as a struct, which feels super natural to me. That’s why I know for a fact it works well. Look in your Cargo.toml under the section [dependencies] there should be an entry for clap: clap = { version = "4.5.41", features = ["derive"] } is mine. Right now version 4.5.48 is the newest I think.

    Also from your previous reply, what do you mean “unless i do the implied version, but then it can’t derive features”? I don’t know why you shouldn’t be able to use derive. I’m no expert either BTW, just wondering what went wrong.

    Edit: typo


  • Right now I am working on a Rust cli tool with clap and have no issues with the LSP in Neovim. It might be a configuration error. Clap is used by many and is the defacto standard cli parser in Rust. As a fan of argparse in Python, I think clap is even better. argparse being implemented as standard library is the biggest pro over clap. I wouldn’t even use getops anymore, unless it is a Bash script. And even so, Bash has its own builtin argument parser that I use for scripts.

    If you really wanted to try Rust, you should sort of that issue. Clap works great and lot of users use it. Who knows, you may even end up liking it and Rust.

    Edit: BTW which example do you refer to exactly? I looked at the official ones and couldn’t find: https://doc.rust-lang.org/stable/rust-by-example/


  • I think these incidents like a calculator leaking 32GB are not the problem in the industry. These are isolated issues, and fixable as you say. The bigger problem are many “smol” programs are written without performance in mind at all, with crazy languages like JavaScript, its bloated environment and runtimes and frameworks like React and a huge browser to run it. While they do not leak memory like crazy, they hog a lot and people accept it. If all programs are like this, then you end up doing 16GB for simple tasks (random number chosen for likes), while the 32 GB leaked app is corrected and now just uses 200 MB at max (just random number again, to illustrate my point).



  • About Immutable Data:

    The most obvious benefit of this is that it is easier to reason about code when you don’t have to worry about the “current” state of any internal data.

    My own phrasing about this subject: With mutable data, the state is no longer encoded in programming code itself, rather a temporary state you have to calculate in your head. That’s why people need debuggers, to help pausing at a time and see the current state and analyze each step in between all immutable states; which can be endless, depending on the input.