The Buzz Around Backstitch
Local First Conf is just two weeks away. We’re queuing up a slate of announcements and deep-dives on Patchwork, PlayBook, Backstitch, and more. Whether you’re there in person to see firsthand, or just subscribed to this newsletter to catch the post-conf roundup, July is looking to be a big month. But June has also been a big month! Today we’ll point you to a talk that launched Backstitch to a rapturous reception, an emotive dialog interrogating how we relate to LLMs, a new variable-length integer encoding that’s unexpectedly quick, and a new distributed computing experiment.
First things first, we’re delighted to welcome several new folks to the lab.
Mimi Reyburn, a researcher and design engineer who recently completed a residency with us, has joined our staff. Patchwork will benefit from her distinct empathy for the person behind the keyboard. Also — don’t miss Artificial, linked below, which bears her mark.
Derek Yen is a PhD student researching cryptography at NYU who joins us as a researcher-in-residence. He first got involved with Ink & Switch formalizing the security of the group encryption layer of Keyhive (BeeKEM), and hopes to learn more about the theoretical and practical considerations of implementing local-first software.
Our work on ARIA’s Safeguarded AI program is now bolstered by Leo Stewen, who joins us to help out with Coln, building atop his thesis on expressing CRDTs with Datalog. Wait — what’s Coln? In short, it’s a language/database for storing formal verification proofs. Here’s how Leo put it to me:
Coln is a dependently-typed schema language which is powered by a local-first database suited to incremental proof-checking. Its aim is to integrate well with the existing proof ecosystem by offering integrations with popular tools (such as Lean), enhancing them by making proofs and discovered facts queryable.
Backstitch, formerly known as Beckett, is our ongoing effort to build a Universal Version Control system for Godot, the most popular open source game engine. This work is motivated by students — kids — learning game development skills in classes offered by the Endless Foundation, our partner on this project. These kids, like any devs, would benefit greatly from version control to safeguard their work and structure their collaboration. Godot project files are serialized as text and can be stored in a traditional VCS like git, but those files are not robust to merges when conflicts occur, leading to broken projects which are difficult or impossible to recover. This is an untenable situation for these students, and for all game devs using Godot.
Backstitch is a plugin that adds Automerge-powered collaboration and versioning directly to Godot in a way that’s robust in the face of conflicts, solving the pain caused by git. What’s more, the integration with Godot allows us to build tools for branches and graphical diffs natively within the editor. In April, Lilith Duncan (who is working on this project along with Nikita Zatkovich and Paul Sonnentag) presented Backstitch at GodotCon, and received a euphoric response. The Backstitch discord is flooding with devs eager for a way out of git hell, and there’s already a shipping game that was built with Backstitch.
Watch Lilith’s talk Beyond Git: Real-Time Version Control for Godot.
An LLM isn’t a person. It’s software.
In this lovingly-crafted and very personal dialog, chee rabbits and Mimi Reyburn work through their discomfort with this situation, and imagine what might be done differently.
Read Mimi and chee’s Artificial.
Brooklyn Zelenka has been working on local-first infrastructure for auth and sync (Keyhive and Subduction), and needed a variable-length integer encoding that was resistant to abuse by bad actors. The most popular algorithms allow you to encode certain values in multiple ways, which can be used to cause trouble. So she came up with her own new encoding scheme that avoids this problem — and it happens to perform better in pretty much all situations, especially for the most commonly-used values.
Fancy an approachable introduction to varint encodings and Brooke’s new technique, with copious diagrams and graphs? Then you’ll enjoy this article on bijou64.
Dan Ingalls and Alex Warth have been cooking up a new experiment — a Smalltalk / Lively Kernel-like system that rides on top of Automerge. You’ll hear more about this in future newsletters, but to start here’s the lab note introducing Livelymerge.
That’s all for June. Buckle up, we’ll see you at (or after) Local First Conf.
The Ink & Switch Dispatch
Keep up-to-date with the lab's latest findings, appearances, and happenings by subscribing to our newsletter. For a sneak peek, browse the archive.