When working on Futhark, I often find myself looking at IR outputs from various stages in the compiler. Recently, I had to compare outputs from different versions of the compiler to find out what had changed. Importantly, the compiler had changed enough in between those two versions that random numbers being generated for each internal symbol were different in the two IRs. This meant that while the structure was largely the same, all the variables had different names (bytes_7191 vs. bytes_7055, you get the idea), rendering a normal diff tool unusable. Now, these were large files, and I was looking for large structural changes, so I wanted a tool where I could see the two versions side by side while scrolling them at the same time. Except, some times, changes in one version where different enough that the corresponding lines wouldn't line up any more. I know that Emacs (and many others, probably) has support for multiple cursors (an idea introduced by Sublime, I believe), which would address my first point, but I don't think it would easily address the second. I therefore set out to create such a tool myself and lo, sbs was born! You can check out the tool here: https://sr.ht/~munksgaard/sbs. Open two similar files using `sbs file1 file2`, navigate up and down with the arrow keys or page-up and page-down. Scroll only the first screen by holding down Ctrl, scroll only the second screen by holding down Alt. There's even a screencast showing how it works! Although the idea is there and it works for my simple use-case right now, sbs is obviously still really rough around the edges. Perhaps with some polish it could actually be nice to work with. We'll see if I get around to it. In the meantime, patchsets and suggestions for improvements are welcome.