Skip to content
0:00 / 0:00

#tigerbeetle#tigerstyle#deterministicsimulationtesting

TigerStyle! (Or How To Design Safer Systems in Less Time) by Joran Dirk Greef

TigerBeetle

14K subscribers • 8 videos on Hallway

YouTube
  • Recommended by 2 people: 2 on Hacker News.
  • Presented by Joran Dirk Greef, creator of TigerBeetle
  • Made by the vendor. The company whose product it covers made or sponsored it.
  • An opinion. It argues one side of a question engineers disagree on.

Intermediate. Assumes working knowledge.

87K views3 years ago2 recommendations

Software designDatabases and dataSoftware architectureTestingDatabase internals

Joran Dirk Greef explains TigerStyle, the engineering methodology behind TigerBeetle that focuses on up-front design, assertions, and deterministic simulation testing.

Our final talk from Systems Distributed '23: systemsdistributed.com. Join the chat at slack.tigerbeetle.com/invite!

Why it's here

2 people recommend this

What people say. Highly recommended by engineers as an inspiring guide to building extremely robust, defect-free software systems.

Moments people linked to

samatmanon Hacker News • Recommends

On “A write-ahead log is not a universal part of durability”

I second this recommendation. I'm impressed by what TigerBeetle has accomplished, and would love to see more of the industry approach software engineering with their philosophy and rigour. The TigerStyle video is well worth watching for anyone who wants to build defect-free software systems, or recognizes that this is the correct thing to aim for. link to this video

samatmanon Hacker News • Recommends

On “Why Haskell?”

> Zig will be easy to understand and use but too unsafe to use for important applications This is an outside perspective on Zig, and I have to say, not an informed one. If you'd like to understand Zig (and what I mean) better, this video is a good start: link to this video Zig is, right now, being used for high-assurance systems where correctness is a terminal value, and it provides many tools and affordances to assist in doing so. It isn't a good choice for projects which give lip-service to correctness, but for ones which actually mean it, and are willing and able to put in the effort and expense to achieve it, it's an excellent choice. I'm willing to gloss that domain as "important applications", bu…

jorangreefon Hacker News • Recommends

On “We Designed TigerBeetle's Docs from Scratch”

…ike this fairly quickly. It's just easier for us than trying to "sculpt" off the shelf dependencies. That's not to suggest that everyone needs to paint like we do at TigerBeetle, but it's equally true that not everyone needs to sculpt either. 1 1 To understand our engineering methodology, and why we prefer to paint than sculpt, see TigerStyle: link to this video…

jorangreefon Hacker News • Recommends

On “NIH is cheaper than the wrong dependency”

We apply this pretty much fully at TigerBeetle 1. Reason being that TigerStyle is not only about shipping safer software, but shipping it in less time 2, factoring in the Total Cost of Ownership to end users. In other words, not only optimizing our development time, but also all the time spent in production with subsequent fixes. 1 link 2 link to this video

jorangreefon Hacker News • Recommends

On “NIH is cheaper than the wrong dependency”

…dless of whether I was doing frontend or backend work, and so brought them into TigerBeetle. Of course, software higher up is likely to use some dependencies, but there's always a cost, and this principle (“do more with less”), at least in my experience, tends to prove valuable when applied. 1 Some of the background motivation behind TigerStyle: link to this video…

jorangreefon Hacker News • Recommends

On “NIH is cheaper than the wrong dependency”

…cause most software dependencies are typically not designed for DST. But finally (and to your point about sustainability), without TigerStyle, we wouldn't have had the company, or the investment, team, and customers we have today, or be as far along financially. Not saying that you need to share our engineering philosophy. But it works for us. 0 link to this video…

jorangreefon Hacker News • Recommends

On “TigerBeetle and Synadia pledge $512k to the Zig Software Foundation”

…n in 3.5 years, in less time, to a higher standard, and to be the first distributed database with an explicit storage fault model (Kyle Kingsbury added new storage fault injectors to Jepsen) solving Protocol-Aware Recovery. Our Jepsen audit is here (also linked in the post): link For more on TigerStyle as a methodology, hope you enjoy this talk: link to this video…

jorangreefon Hacker News • Recommends

On “Tigerbeetle Simulator”

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: link to this video See also a shorter explanation: link

jorangreefon Hacker News • Mentions

On “Fintech Engineering Mistakes”

Hey, Joran from TigerBeetle here! You raise a fair question. Coincidentally, one of the reasons we picked Zig was for how readable it was, and strikingly so, even for high level programmers who might not understand systems programming or C. Because Zig reads like TypeScript, and we were working in payment switches where the majority of programmers could read that. This particular switch, in fact, had this same business requirement, that programmers should be able to at least read the systems language. But generally, our experience has been that people who understand C will understand how to maintain Zig 0. Zig's toolchain is also more accessible, and across all platforms. Zig's compiler is…

agentultraon Hacker News • Mentions

On “Formal Verification of Zero-Downtime Database Migration in PlusCal”

…money than iterating in production towards a, "more correct design." Getting it right first sounds hard, and it's challenging, but it's worth it for the kinds of projects where mistakes are costly, difficult to diagnose and to fix. And I think more software developers are starting to realize this 0 (even if they're using different methods). 0: link to this video Update : grammar/spelling…

u/Lisophin r/C_Programming • Mentions

On “kmx.io blog : Why I stopped everything and started writing C again”

There's an intersting talk by the author of TigerBeetle on how Zig helped them engineer a super resilient system. They ship optimized builds with checked airthmetic (link with timestamp). They're also big fans of assertions.
1View on Reddit