Flawless – Durable execution engine for Rust

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • lunatic

    Lunatic is an Erlang-inspired runtime for WebAssembly

  • Very cool, and the approach demonstrated might be of interest to a similar problem we have in Ambient (our WASM game runtime that has competing processes that may need to retry interactions.)

    That being said - what’s the relation to Lunatic [0]? Are you still working on Lunatic? Is this a side project? Or is it something completely separate?

    [0]: https://lunatic.solutions/

  • Vale

    Compiler for the Vale programming language - http://vale.dev/ (by ValeLang)

  • Another relevant language might be Vale (https://vale.dev), which is aiming for "perfect replayability": https://verdagon.dev/blog/perfect-replayability-prototyped

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • design

    WebAssembly Design Documents

  • When I implemented a WASM compiler, the only source of float-based non-determinism I found was in the exact byte representation of NaN. Floating point math is deterministic. See https://webassembly.org/docs/faq/#why-is-there-no-fast-math-... and https://github.com/WebAssembly/design/blob/main/Nondetermini....

  • spin

    Spin is the open source developer tool for building and running serverless applications powered by WebAssembly.

  • linky: https://github.com/fermyon/spin#readme (Apache 2; and while I don't see any CLA, interestingly they do require GPG signed commits: https://developer.fermyon.com/spin/contributing-spin#committ... )

  • Is the primary use-case to allow frontend code to recover from failed RPCs? Wouldn't it be simpler to retry the RPCs?

    The last time I tried to do RPCs from TypeScript, I had difficulty finding a library with timeouts and usable error handling. So I wrote one:

    https://github.com/mleonhard/systeminit-coding-assessment-sd...

    It would be straightforward to add retries to that. If any of you want to do that, I will release the code with an MIT or Apache 2.0 license.

  • Is the primary use-case to allow frontend code to recover from failed RPCs? Wouldn't it be simpler to retry the RPCs?

    The last time I tried to do RPCs from TypeScript, I had difficulty finding a library with timeouts and usable error handling. So I wrote one:

    https://github.com/mleonhard/systeminit-coding-assessment-sd...

    It would be straightforward to add retries to that. If any of you want to do that, I will release the code with an MIT or Apache 2.0 license.

  • mats3

    Mats3: Message-based Asynchronous Transactional Staged Stateless Services

  • The “restart from where it failed”-aspect was a big reason for why I made Mats3. It is message-based, async, transactional, staged stateless services, or message-oriented asynchronous RPC. Due to the transactionality, and the “state lives on the wire”, if a flow fails, it can be restarted from where it left off.

    https://mats3.io

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts