{"type":"rich","version":"1.0","provider_name":"Transistor","provider_url":"https://transistor.fm","author_name":"Database School","title":"Rewriting SQLite from prison with Preston Thorpe","html":"<iframe width=\"100%\" height=\"180\" frameborder=\"no\" scrolling=\"no\" seamless src=\"https://share.transistor.fm/e/04123808\"></iframe>","width":"100%","height":180,"duration":4708,"description":"In this episode of Database School, Aaron talks with Preston Thorpe, a senior engineer at Turso who is currently incarcerated, about his incredible journey from prison to rewriting SQLite in Rust. They dive deep into concurrent writes, MVCC, and the challenges of building a new database from scratch while discussing redemption, resilience, and raw technical brilliance.\nFollow Preston and Turso:\nLinkedIn: https://www.linkedin.com/in/PThorpe92\nPreston's Blog: https://pthorpe92.dev\nGitHub: https://github.com/PThorpe92\nTurso: https://turso.tech\nFollow Aaron:\nTwitter/X:  https://twitter.com/aarondfrancis \nDatabase School: https://databaseschool.com\nDatabase School YouTube Channel: https://www.youtube.com/@UCT3XN4RtcFhmrWl8tf_o49g  (Subscribe today)\nLinkedIn: https://www.linkedin.com/in/aarondfrancis\nWebsite: https://aaronfrancis.com - find articles, podcasts, courses, and more.\nChapters:\n00:00 - Intro and Preston’s story\n02:13 - How Preston learned programming in prison\n06:06 - Making his parents proud and turning life around\n09:01 - Getting his first job at Unlock Labs\n10:47 - Discovering Turso and contributing to open source\n12:53 - From contributor to senior engineer at Turso\n22:27 - What Preston works on inside Turso\n24:00 - Challenges of rewriting SQLite in Rust\n26:00 - Why concurrent writes matter\n27:57 - How Turso implements concurrent writes\n35:02 - Maintaining SQLite compatibility\n37:03 - MVCC explained simply\n43:40 - How Turso handles MVCC and logging\n46:03 - Open source contributions and performance work\n46:23 - Implementing live materialized views\n50:55 - The DBSP paper and incremental computation\n52:55 - Sync and offline capabilities in Turso\n56:45 - Change data capture and future possibilities\n1:02:01 - Implementing foreign keys and fuzz testing\n1:06:02 - Rebuilding SQLite’s virtual machine\n1:08:10 - The quirks of SQLite’s codebase\n1:10:47 - Preston’s upcoming release and what’s next\n1:14:02 - Gratitude, reflection, and closing thoughts","thumbnail_url":"https://img.transistorcdn.com/QPpKhRBWtM56k1sC7Y7j7aqGy8sd-XKWw6mEKgA1jmw/rs:fill:0:0:1/w:400/h:400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lMmRl/ZTM5ZTAxOTMzNTgy/MmJmZTA4MWE1ZjMw/YjE4Ny5wbmc.webp","thumbnail_width":300,"thumbnail_height":300}