Tigerbeetle Simulator

24 pointsposted 16 hours ago
by thomascountz

8 Comments

gcr

15 hours ago

Tigerbeetle is a fault tolerant database that’s used for finances and time series stuff. It’s a field that has very particular requirements around this sort of thing.

(not a tiger beetle user so I’d love to also see some more context for this)

jorangreef

13 hours ago

Joran from TigerBeetle here!

This is a “walking sim” real visualization of our Deterministic Simulation Testing harness, the VOPR.

Typically we do DST headless in the terminal but this is a visualization, more or less the same thing but with a gaming engine on top.

It’s running real TigerBeetle code, but with simulated network/storage and fault injection, and multiple replicas in a cluster, all compiled to WASM and running in the browser, and you can interact with the simulation to poke it and watch the consensus recover.

Here’s the full background context and explanation from our talk, TigerStyle, for which we developed this sim: https://youtu.be/w3WYdYyjek4

See also a shorter explanation: https://tigerbeetle.com/blog/2023-07-11-we-put-a-distributed...

sgt

12 hours ago

How is the graphics being rendered - is that also a Zig frontend compiled into WASM (maybe using SDL?) through JavaScript in the browser?

tyleo

13 hours ago

I recommend including links to these within the submission itself. Landing on the game with no context isn’t a great experience. It also isn’t easy to share a link with others this way.

jorangreef

13 hours ago

Apologies, the context is the talk, and we didn’t submit this submission of the visualizer to HN!

We are working on a tutorial stage, but people tend to hear about TB and TigerStyle and our DST first, appreciating the talks and that we make the visualizers in that context.

mkreis

15 hours ago

Looks nice, but... what is this and how is it supposed to work?! There is no explanation, no tutorial, ...

tyleo

13 hours ago

I’m not sure why you’re getting downvoted because I had this same reaction. I feel like this is good feedback!

This submission seems close but is missing the final bit of instruction polish that would really make it click.