Menu
Sign In Search Podcasts Charts People & Topics Add Podcast API Pricing

Glauber Costa

๐Ÿ‘ค Speaker
358 total appearances

Appearances Over Time

Podcast Appearances

The Changelog: Software Development, Open Source
Turso is rewriting SQLite in Rust (Interview)

So it... We revisit it. Now it's no longer a 10-minute dream that went away. We truly believe now that once we get the momentum going, we can replace SQLite. And that's the goal.

The Changelog: Software Development, Open Source
Turso is rewriting SQLite in Rust (Interview)

So it... We revisit it. Now it's no longer a 10-minute dream that went away. We truly believe now that once we get the momentum going, we can replace SQLite. And that's the goal.

The Changelog: Software Development, Open Source
Turso is rewriting SQLite in Rust (Interview)

Your intuition is correct, by the way, which is one of the things that all things considered, we went with the fork. Because at least there is some level of guardrails that come with the fact that at least you know that this code that you're importing was tested by this proprietary tester.

The Changelog: Software Development, Open Source
Turso is rewriting SQLite in Rust (Interview)

Your intuition is correct, by the way, which is one of the things that all things considered, we went with the fork. Because at least there is some level of guardrails that come with the fact that at least you know that this code that you're importing was tested by this proprietary tester.

The Changelog: Software Development, Open Source
Turso is rewriting SQLite in Rust (Interview)

I don't think your intuition is incorrect, but something amazing happened. And by the way, the way I look into the situation, another thing that I want to make it clear, I don't actually think that we made a mistake with the fork because if we were rewriting back then, there were many decisions that we made today that we would not have made But now we did because we had the experience.

The Changelog: Software Development, Open Source
Turso is rewriting SQLite in Rust (Interview)

I don't think your intuition is incorrect, but something amazing happened. And by the way, the way I look into the situation, another thing that I want to make it clear, I don't actually think that we made a mistake with the fork because if we were rewriting back then, there were many decisions that we made today that we would not have made But now we did because we had the experience.

The Changelog: Software Development, Open Source
Turso is rewriting SQLite in Rust (Interview)

We've been running the Thurso platform and we learn a lot of things. So it actually allows... I almost see it as a prototype and it actually allows us to make tremendously good decisions with the Limbo project. And one of them is exactly the testing. What happened is that... Becca and I got hooked into something called deterministic simulation testing.

The Changelog: Software Development, Open Source
Turso is rewriting SQLite in Rust (Interview)

We've been running the Thurso platform and we learn a lot of things. So it actually allows... I almost see it as a prototype and it actually allows us to make tremendously good decisions with the Limbo project. And one of them is exactly the testing. What happened is that... Becca and I got hooked into something called deterministic simulation testing.

The Changelog: Software Development, Open Source
Turso is rewriting SQLite in Rust (Interview)

And deterministic simulation testing is a very niche thing that most people have never heard about. I had heard about it a couple of times, but I didn't truly quite understand what it was until I met Yoran. So Yoran is the founder of of, and I can say this, I mean, even though I am the founder of a database company, Yoran is the founder of the most amazing database company I've ever seen.

The Changelog: Software Development, Open Source
Turso is rewriting SQLite in Rust (Interview)

And deterministic simulation testing is a very niche thing that most people have never heard about. I had heard about it a couple of times, but I didn't truly quite understand what it was until I met Yoran. So Yoran is the founder of of, and I can say this, I mean, even though I am the founder of a database company, Yoran is the founder of the most amazing database company I've ever seen.

The Changelog: Software Development, Open Source
Turso is rewriting SQLite in Rust (Interview)

Although now I think with Limbo, we have a chance to reclaim that title. Yoran and I are going to fight about it. But, you know, ask me a month ago, I would say, man, I have to give it to him. This is the most impressive database company of all, Tiger Beetle. Tiger Beetle is a database, just to keep it very brief, that is designed for financial transactions. So it's completely written in Zig.

The Changelog: Software Development, Open Source
Turso is rewriting SQLite in Rust (Interview)

Although now I think with Limbo, we have a chance to reclaim that title. Yoran and I are going to fight about it. But, you know, ask me a month ago, I would say, man, I have to give it to him. This is the most impressive database company of all, Tiger Beetle. Tiger Beetle is a database, just to keep it very brief, that is designed for financial transactions. So it's completely written in Zig.

The Changelog: Software Development, Open Source
Turso is rewriting SQLite in Rust (Interview)

And their goal is to replace entire systems, the bespoke systems that most financial institutions have to process transactions. So if you're selling to banks and financial institutions, if your goal is to replace the backbone of world's commerce, It's pretty hard to do, right? And one of the challenges that you have is just this, like, how do we trust this thing?

The Changelog: Software Development, Open Source
Turso is rewriting SQLite in Rust (Interview)

And their goal is to replace entire systems, the bespoke systems that most financial institutions have to process transactions. So if you're selling to banks and financial institutions, if your goal is to replace the backbone of world's commerce, It's pretty hard to do, right? And one of the challenges that you have is just this, like, how do we trust this thing?

The Changelog: Software Development, Open Source
Turso is rewriting SQLite in Rust (Interview)

And you're unfound the solution for that. The solution that you're unfound was to write Tiger Beetle entirely with a technique called deterministic simulation testing. Deterministic simulation testing is essentially a fuzzer. So it will generate a bunch of inputs. It randomly generates as many inputs as it can on the space of possible inputs. And this is the disadvantage.

The Changelog: Software Development, Open Source
Turso is rewriting SQLite in Rust (Interview)

And you're unfound the solution for that. The solution that you're unfound was to write Tiger Beetle entirely with a technique called deterministic simulation testing. Deterministic simulation testing is essentially a fuzzer. So it will generate a bunch of inputs. It randomly generates as many inputs as it can on the space of possible inputs. And this is the disadvantage.

The Changelog: Software Development, Open Source
Turso is rewriting SQLite in Rust (Interview)

You kind of have to write software in a special way to lend itself to deterministic simulation testing. It's very hard to boat it to an existing code base, right? But you write it in a way that every single operation that you do on IO, on thread scheduling, everything that happens goes through a special interface that abstracts all IO, and then you plug a simulator.

The Changelog: Software Development, Open Source
Turso is rewriting SQLite in Rust (Interview)

You kind of have to write software in a special way to lend itself to deterministic simulation testing. It's very hard to boat it to an existing code base, right? But you write it in a way that every single operation that you do on IO, on thread scheduling, everything that happens goes through a special interface that abstracts all IO, and then you plug a simulator.

The Changelog: Software Development, Open Source
Turso is rewriting SQLite in Rust (Interview)

When you're testing this, you plug this into a simulator, and the simulator is included in the code base. So what the simulator does is that it's going to explore the space of possibilities, create the most arcane, impossible situations ever, And then when something breaks, it gives you the exact steps deterministically that everything in the system had up until that point.

The Changelog: Software Development, Open Source
Turso is rewriting SQLite in Rust (Interview)

When you're testing this, you plug this into a simulator, and the simulator is included in the code base. So what the simulator does is that it's going to explore the space of possibilities, create the most arcane, impossible situations ever, And then when something breaks, it gives you the exact steps deterministically that everything in the system had up until that point.