Skip Navigation

InitialsDiceBearhttps://github.com/dicebear/dicebearhttps://creativecommons.org/publicdomain/zero/1.0/„Initials” (https://github.com/dicebear/dicebear) by „DiceBear”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)B
Posts
10
Comments
375
Joined
2 yr. ago

  • Releasing a v1 would be misleading anyway, even if the language itself is ready for it (it isn't)..... because they use zig in their standard library 😉

  • There is nothing neat about anything xdg.

  • I'm glad you figured it out.

    I don't know what is it with new rustaceans and binary size, but many of them seem to be incessant on wasting time uselessly optimizing it, usually without actually understanding what they're doing, without gaining any relevant benefit, and possibly even causing relevant harm (e.g. degrading run-time performance for no good reason).

  • Since cargo-edit broke

    Sparse indices support got added in last September. A perma-WIP pull request that added support for them existed for much longer.

  • cargo-upgrade existed forever. and it has a --dry-run option.

  • Rendering only.

  • installed on a lot of Linux systems.

    Fake info. It would be fake too if you made the opposite claim. Because such info is simply not available.

    VLC being an MPlayer clone with better branding has been a running half-joke for decades.

    The latest released version of VLC is not compatible with ffmpeg versions > 4.4 🤗. Some distros have actually considered dropping the package for that reason. Maybe some did, I don't know. But if the situation doesn't change, some definitely will.

    And VLC 4, which those who still care for some reason have been waiting for it to be released for years, is centered around libplacebo, a library that was factored out of mpv 😎 .

    I'm not emotionally charged against VLC or anything. In fact, I occasionally use it on Android. But what's stated above is just facts.

  • they don’t have C API bridge yet.

    WDYM

     
        
    cargo add libc
    
      

    Done 😎

    There is an example in the repository showcasing interop with Rust. But I didn't find it compelling enough for people to like. It felt a bit too complex. But maybe the complexity is inherent. I don't know.

  • As someone who doesn't know scripting languages well, what does make the snippet you posted particularly Ruby-ish?

    Reading the guide, it felt like a relatively small consistent scripting language, with some Rustic touches. But I probably missed the touches from other languages I don't know.

    But then, Rust itself took inspiration from many other languages, including Ruby itself. So, maybe everyone is taking from (or mimicking if you will) everyone.

    BTW, that last part can be written as:

     
        
    # from iterator import each, to_list
    » square -> each (2,4,6,8) -> to_list
    ➝ [4, 16, 36, 64]
    
      

    which maybe mimics some other functional or functional-influenced language(s).


    may require 0.15.1

  • I can't tell if we are miscommunicating here, or if my leg is being pulled.

    You are not aware of staunchly anti-OOP (object oriented programming) people existing? Anti-OOP is a majority position now (always was in my circles). And the holdout proponents would usually only defend one (limited or revisionist) way of doing it, usually referring to some specific language implementation. Long gone is the quintessential list of OOP talking points presented in C++/Java classes in the 90's.

    For people new to this, a quick search should lead to an endless stream of results. I found this one immediately which looks decent and covers good ground.

  • What are your thoughts on oop?

    I don't like it. Reasons are well documented by others if you look for them.

    I also wrote that part half-jokingly, and as a way to intrigue people to read until that part. And now you called my bluff 😶

  • Such posts are more suitable as microblogs IMHO.

    Anyway, string lengths are byte lengths, and indexing strings is actually not panic-safe. This is why we have (still-nightly) char-boundary methods now.

    If you want to work on characters. use .chars().count() and .chars().nth().

    And character boundaries are themselves not always grapheme boundaries, which is also something that you might need to keep in mind when you start writing serious code.

    With all that in mind, you should realize, for example, that probably every string reversing beginner exercise answer in every language is actually wrong. And the wrongness may actually start at the underspecified requirements 😉

  • The most important part of curl is the library, not the CLI tool. And the TLS backend is very much relevant due to varying features supported, different licenses involved, and varying levels of ease when it comes to building and distribution.

    That's when you're providing binaries. Otherwise, you would have to be wary of potential compatibility issues with libcurl packages provided by different Linux distributions for example.

    See CURLOPT_ECH for a recent and still evolving example of this.

  • What serious Linux users buy GPUs based on raw gaming performance on release week?

    I personally buy based on open-source driver support. And this includes long-term active support, AND developer approachability.

    My current GPU is an AMD/Radeon one because of that. But I'm reconsidering my position when my next hardware upgrade comes.

    I reported an AMD GPU driver issue to mesa once. It was tested, confirmed, and patched by a competent AMD developer within a few days. Now you have easily reproducible issues like this not even going past the testing phase after many months. And there are similar issues across all model generations.

    If I were to upgrade my workstation next year, I would probably go with an AMD CPU and an Intel GPU, which is the exact opposite of my current setup 🙃. One should never rely on outdated perceptions.

  • Another huh from me. Or maybe I'm missing something, because this should all be obvious.

    The source of the standard library is a rustup component that everyone should have installed. As for crates, you don't have to manually download any sources. Just add the crate as a dependency, and jump around definitions as much as you like. You can remove the dependency later if you decide to not use it.

  • this wasn’t easy for me to find

    Huh! This is the internal ExitCode, and it's two jump-to-definition calls away. The first to get to the public type definition, and the second from the public type's struct field to the private type.

  • ExitCode is a struct, therefore it behaves like a type with many fields which define the types contained in the struct.

    That's a bit too off. structs in rust are product types. A struct may define zero or more fields. And fields can be named or not. if not, such structs are called tuple structs.

    In the doc page, if you clicked on source, it would have taken you to the definition.

      rust
        
    pub struct ExitCode(imp::ExitCode);
    
      

    That's a public struct with one unnamed private field. The type of the private field also happens to be private/internal.

    As for why, usually the purpose is providing type safety, a unified interface,... etc. Notice how for example a windows-only extension trait is implemented that allows converting raw u32 exit codes into ExitCode.

    So now you have exit codes possibly sourced from u8 or u32 values depending on the platform. And you need a safe unified interface to represent them.

    I hope that's an enough starting point.