In April and May 2016, when I was working out the design for xi editor, I wrote a series of Google-internal posts I entitled “rope science”, which dug into some of the advanced computer science concepts I was hoping to employ to make xi better, as well as some more speculative explorations. I had always intended to publish these after some cleanup and polishing, but never got around to it.

For the curious and persistent, here are the original posts, with a bit of light editing and context (including cherry-picks from ensuing discussion). They will probably be helpful to understand xi internals, but don’t take the place of real documentation. That said, these posts can hopefully provide input for that documentation, and may be interesting on their own.

I don’t think I ever wrote a part 7. It was supposed to be about spans and interval trees, still a very interesting topic.

Enjoy!