Hi rustaceans! What are you working on this week? Did you discover something new, you want to share?

  • tuna@discuss.tchncs.de
    link
    fedilink
    arrow-up
    2
    ·
    edit-2
    12 hours ago

    Apparently generating “Finite Projective Planes”. For context on how I got here, I went camping with my family and brought the game Spot It. My brother was analyzing it and came up with the same type of pattern.

    When we got home he made a python script to generate these boards, but it was quite slow, so he half joked asking me to rewrite it in Rust.

    I kinda struggled a bit since I didn’t fully understand what it was doing. Near the end I even got a segfault using safe code😃! (i was spawning a thread with a large stack size, and allocating huge slices on its stack, rather than you know… boxing the slice Lol.) When I finally got it working, it ended up being in the ballpark of a 23x speedup. Not bad for changing the language choice!

    There’s lots of room for improvement left for sure. The algorithm could benefit with some running statistics about cols/rows and the algorithm itself is quite naïve and could maybe be improved too :P

  • Everett@reddthat.com
    link
    fedilink
    English
    arrow-up
    1
    ·
    3 days ago

    Just finished all the Rustlings exercises, moving on to some simple GUI exercises with libcosmic!

    • secana@programming.devOP
      link
      fedilink
      arrow-up
      1
      ·
      22 hours ago

      The selling point of Ice (the underlying framework for libcosmic) is the cross-platform compatibility. Can I use libcosmic cross-plat as well, or is it more a specialisation of Ice for Linux with the clear focus on the Cosmic desktop? Would be cool to re-use some widget etc.

  • BehindTheBarrier@programming.dev
    link
    fedilink
    arrow-up
    4
    ·
    5 days ago

    Working on a blog(entirely for fun), found out the server backend, actix-web, does not handle early termination of a stream well. Wanted to stop an upload if the file size turned out to be too large, but you have to consume the entire upload before returning an error. If not the client will never see the connection close. I guess there is a way to check the size beforehand, but sucks that you can’t stop a stream in progress.

    Apparently a long standing issue.

  • Legoraft@reddthat.com
    link
    fedilink
    arrow-up
    6
    ·
    6 days ago

    I’m working on a simple and hackable static site generator, stagnant. I wanted a static site generator that utilized html for templates, so I built it myself to learn rust a bit better.

  • nebeker@programming.dev
    link
    fedilink
    English
    arrow-up
    4
    ·
    6 days ago

    I’m working through rust-exercises.com and taking notes on my thoughts. I may or may not want to use it for a short workshop at work - mostly for fun, since I work with a very different stack.

    So far, I don’t know if I like the exercises, because the target audience doesn’t feel like it’s clearly defined: you both solve is_even with an if/else and overflow an i8 to -1. I don’t think I’ve met the person who is that inexperienced and that knowledgeable…

    How are folks liking these exercises?

      • nebeker@programming.dev
        link
        fedilink
        English
        arrow-up
        1
        ·
        5 days ago

        I used that and Rustlings and really liked both, but somebody mentioned this and I decided to take a look. It’s cool that it introduces other concepts.