• 0 Posts
  • 50 Comments
Joined 9 months ago
cake
Cake day: September 27th, 2023

help-circle








  • Antagonizing the borrow checker is wrong. If it screams it does so to prevent you from writing a mistake. Eventually once you have enough experience you should write code in such a way that doesn’t trip the borrow checker because you know how to properly handle your references.

    Is it difficult to learn at first? Yes, but the benefits of learning this outweighs the downsides such as writing code that may use references when it shouldn’t.

    I’m not a Rust aficionado, but the few Rust I’ve written opened my eyes on issues that I have been dealing with in other languages but for which I was blind.

    Lastly I tried following a Godot project tutorial that was using GDScript except I challenged myself to follow it but rewrite the examples given using Rust’s bindings for Godot. It was definitely more cumbersome to work with, but I might also have been doing something wrong (such as blindly transcribing GDscript instead of writing more idiomatic Rust).

    All of that to say 1) borrow checker is your friend and 2) scripting languages will always be more convenient at the cost of being way more dirty (way less safeties)

    In the end you need to pick the right tool for the job. Multiple tools may be used within the same project.





  • I mean you can setup a source of entangled particles and two very far detectors that would do measurements roughly at the same time on each particle in such a way that information traveling at the speed of light wouldn’t have time to travel the distance between both detectors.

    You can then just gather roughly simultaneous measurements and at a later time join the datasets from both detectors to see what one measured vs the other for each pair.

    If I understand correctly the current observations show that collapsing the state of one of the particle influences the other all the way at the other detector. Since there’s no hidden variables that predetermine the result of measurements while the result of the collapse is random, and the fact that particles still respect the correlation over any distance is why there seem to be a FTL communication between the particles.

    Something has to be communicated between the particles for the influence to work FTL, but it also seem we cannot leverage this phenomenon to send “actual information” this way :/

    edit: Important point with that experiment: once the particles have been observed, if you try the experiment a second time using the same particles, then you’ll get different results, this time in line with hidden variables because the particle’s state already collapsed.





  • It’s definitely not Rust’s fault, but it’s kinda Windows’ one and cmd.exe escape logic… It’s really difficult to write logic that will correctly escape any argument given to it, cmd.exe really is a pain to deal with :/

    The Rust security team faced a significant challenge when dealing with cmd.exe’s complexity since they couldn’t find a solution that would correctly escape arguments in all cases.

    As a result, they had to improve the robustness of the escaping code and modify the Command API. If the Command API cannot safely escape an argument while spawning the process, it returns an InvalidInput error.

    “If you implement the escaping yourself or only handle trusted inputs, on Windows you can also use the CommandExt::raw_arg method to bypass the standard library’s escaping logic,” the Rust Security Response WG added.

    I get that in situations where they can’t safely escape a parameter they’ll just stop with an error, which sound as sane as one could go with this!