I came across this interview that I found interesting of a guy (Kovid) who both made Calibre and Kitty.

It made me appreciate his contribution to the terminal ecosystem and actually made me switch off of a multiplexer (ZelliJ) to kitty sessions, which have been developed since the release of this interview. I’m happy with them, they solve my problem and are far more intuitive and simple than ZelliJ with no performance inefficiencies and key-bind conflicts.

Some of the more interesting parts that he talked about in this interview:

  • How Calibre came to be: In 2006, he and some collaborators reverse-engineered Sony’s e-ink reader. That eventually led him to create Calibre.
  • What motivated him to create Kitty: He was using gvim and was frustrated with its slowness, however, the terminals weren’t much faster. So he learned GPU programming through OpenGL and wrote Kitty. He then learned about all of he other terminal limitations and started pushing what a terminal could do. He created several protocols to address issues like colored underlines (for errors/typos), images in the terminal, cleaned-up keyboard handling, proper text sizing and width, and more.
  • Why Kitty is written in Python/C instead of Rust.
  • Why multiplexers like Zellij or tmux are an anti-pattern for local use: tmux is literally a terminal… running inside another terminal and that creates a lot of problems, bugs, inefficiencies and also usually is an innovation bottleneck.
  • A very cool Kitty scrollback plugin: It lets you open your scrollback history directly in nvim instead of less. You can navigate with normal Vim motions, search, copy, edit text, and use any of your plugins. I’ve been using it and it’s great.
  • Other open-source-related topics: (he lives out of it), what languages he programs in, his editor, lots of other small interesting stuff. For instance, he says he built Kitty for himself and it shows, he even uses it as a browser.