• 0 Posts
  • 41 Comments
Joined 1 year ago
cake
Cake day: June 21st, 2023

help-circle


  • Two thoughts come to mind for me:

    1. I think people should feel free to use any language however they want for their own needs and projects, but it’s also important to understand what exactly “unsound” and “undefined behavior” mean if you’re going to dabble with them. If it’s a risk you’re willing to take, go for it, but don’t be surprised if things break in ways that make no sense at all. Realistically a compiler won’t delete your root directory if you trigger UB or anything, but subtle bugs can creep in and change behaviors in ways that still run but which make unrelated code break in difficult to debug ways.
    2. The borrow checker is one of Rust’s biggest features, so looking for ways around it feels a bit counterproductive. Feature-wise, Rust has a lot of cool constructs around traits and enums and such, but the language and its libraries are built around the assumption that the guarantees the compiler enforces in safe code will always be true. These guarantees extend beyond the borrow checker to things like string representation and thread safety as well. As an alternative, some other languages (like C++, which you mentioned, or maybe even Zig) might be better suited for this approach to “dirty-but-works” development, and especially with C++, there are some excellent tools and libraries available for game development.



  • While I agree, it makes connecting to localhost as easy as http://0:8080/ (for port 8080, but omit for port 80).

    I worry that changing this will cause more CVEs like the octal IP addresses incident.

    Edit: looks like it’s only being blocked for outgoing requests from websites, which seems like it’ll have a much more reasonable impact.

    Edit 2: skimming through these PRs, at least for WebKit, I don’t see tests for shorthand IPs like 0 (and no Apple device to test with). What are the chances they missed those…?



  • Still working on an assertions library that I started a few weeks ago. I finally managed to get async assertions working:

    expect!(foo(), when_ready, all, not, to_equal(0)).await;
    

    It also captures values passed down the assertion chain and reports them on failure (without requiring all types to implement Debug since it uses autoref specialization).

    Hopefully it’ll be ready for a release soon.










  • You’re right. Once it settles into its niches and the hype dies down, it won’t be overhyped anymore because everyone will have moved on.

    I’ve been working with generative AI for years now and we still struggle to solve real world problems with it. It isn’t useless or anything. It’s way too unreliable, and this isn’t one of those things where time will solve it - it’s being used to solve problems that have no perfect solutions, like human interfacing and generating culturally-appropriate and visually-accurate images. I’d expect it to improve at those tasks over time, but the scope needs to drop from every problem humanity has ever faced to the problems that these models are good at solving.



  • Ironically, I had friends in school who had come from juvy. I guess you could say prision fed into school instead? I’d love to ask them their opinions on that statement though and see how similar to prison school really was.

    As far as I can tell, that person is just rage baiting. If they genuinely believe school is the same as prison, having visited one myself (not for myself), all I can say is they should actually visit one and see for themselves what a prison is actually like.