Flawless is now in public beta
39 points by ushakov 2 days ago | 11 comments
  • dang 2 days ago |
    Related:

    Flawless – Durable execution engine for Rust - https://news.ycombinator.com/item?id=38010267 - Oct 2023 (117 comments)

  • bkolobara 2 days ago |
    Hi! I'm Bernard, the creator of flawless. Happy to answer any questions ^^
    • camkego 2 days ago |
      Bernard,

      This is something I am very interested in using on a personal project, but it's closed source, and as far as I can see, there is no narrative or explanation about the long terms plans, or whether it is a good idea or not to start using it for projects.

      Can you talk more about your plans, and if it might be good to use as a dependency in a project?

      Thanks

    • joonas a day ago |
      Congrats on the launch Bernard!

      I've been keeping an eye on flawless since stumbling across your blog posts from last year, it's great to see more durable execution options entering the market.

      Given that you're compiling functions down to WebAssembly, I was curious about which runtime did you end up going with for building out the platform?

      I'm also curious about whether you had plans (or any that you would be willing to share anyway) around expanding the languages supported by Flawless beyond Rust any time soon?

    • orf a day ago |
      Hey! This looks awesome, but I have one question:

      What happens if I make a HTTP call that returns a time-limited resource (a token perhaps) that expires in 1 minute? What’s the pattern to handle this?

    • pfraze a day ago |
      Hey Bernard. Just wanted to say, this is pretty cool. Wishing you success.
    • octav123 6 hours ago |
      What happens if the program restarts will it resume retrying?
  • domlebo70 2 days ago |
    Gotta say, that animation is amazing.
  • vineyardmike 2 days ago |
    This is very cool, my read is that it’s basically a WAL for sys-calls, because everything else is deterministic and can be reproduced. It’s a pretty clever, and afaik, novel idea.

    This seems like a great way to run tests hermetically, but I’m skeptical about this being the best way to run almost anything else. It seems like an expensive and complex way to handle failure. The examples provided (calling stripe API, recording result in DB) seem better handled through higher-level state management vs rerunning the exact binary again. Why recreate the HTTP call, when you could/should write custom logic to handle the failure. Maybe you need to ask stripe about the failure, but an HTTP call to report metrics can be silently dropped on failure.

    That said, it would be really interesting if you can run this just on a subset of code, you could build dedicated transaction support into key logic.

  • Axsuul 2 days ago |
    This is so awesome and solves a business need. Anyone know if something like this exists for Ruby?
  • trevyn a day ago |
    “The flawless binary is free to use, but only distributed as a closed source binary.”

    Insta-pass.