(Partially) fixing a bug in a Rust research database
I've regularly had people ask me to do a live-stream on Noria, a database prototype I've been developing in Rust as part of my research at MIT. If you don't know about Noria already, it's a new type of database that uses data-flow to provide incrementally maintained, partial materialized SQL views. The code is at https://github.com/mit-pdos/noria, which also has links to the research paper and such for those wanting to dive deeper!
So far, I've hesitated to do a stream on my research, as I worried that it might be hard to follow given that you'd be dropped into a big and relatively complicated code base. But with a pandemic sweeping the world, and everyone stuck at home, I figured providing a more "brainy" video might be exactly what some people are looking for.
For this stream, I had a relatively clear change I needed to make, and a decent idea of how to make it, which presented a good starting point. In the video, I go through how Noria works, what the bug is, and how to fix it, all in the space of about three hours. We don't end up completely fixing the bug, but at least we make a lot of progress, and hopefully it gives some decent insight into what working on this sort of stuff is like!
You can watch the live version with comments at https://www.youtube.com/watch?v=xoUKplrB9dA
Other Videos By Jon Gjengset
2020-11-21 | A Cool Generic Concurrency Primitive in Rust |
2020-11-14 | Crust of Rust: Sorting Algorithms |
2020-10-23 | Thesis: Partial State in Dataflow-Based Materialized Views |
2020-08-19 | Q&A August #2 2020 |
2020-08-09 | Q&A August 2020 |
2020-08-05 | Crust of Rust: Channels |
2020-07-25 | Thesis Talk: The Evaluation Chapter |
2020-06-17 | Crust of Rust: Smart Pointers and Interior Mutability |
2020-05-27 | Crust of Rust: Iterators |
2020-04-29 | Crust of Rust: Declarative Macros |
2020-04-01 | (Partially) fixing a bug in a Rust research database |
2020-03-06 | Considering Rust |
2020-01-19 | Porting Java's ConcurrentHashMap to Rust (part 3) |
2019-12-14 | Porting Java's ConcurrentHashMap to Rust (part 2) |
2019-11-17 | Why are my videos so damn long‽ |
2019-11-17 | Porting Java's ConcurrentHashMap to Rust (part 1) |
2019-10-19 | Rust open-source contributions stream: Rust tools and std::future |
2019-09-14 | The Why, What, and How of Pinning in Rust |
2019-06-16 | Procedural Macros in Rust (part 2) |
2019-06-02 | Procedural Macros in Rust (part 1) |
2019-05-11 | Implementing TCP in Rust (part 3) |