4 ms·
Decoupling the machine where you do the edit/build/run cycle from the machine where you get your key presses and mouse movements processed has a number of advan
by benreesman 4y ago
Decoupling the machine where you do the edit/build/run cycle from the machine where you get your key presses and mouse movements processed has a number of advantages in the general case and is practically non-negotiable in a subset of cases.
By having my editor (and the LSP servers, etc.) running on a different machine I can afford to have it be a big, high core count Linux machine maybe with GPUs in it that is arbitrarily hot or loud or heavy. For many languages (C/C++, Haskell, Rust, there are others) either the build or the go-to-definition or some other frequently-done thing are slow on even the best laptop / quiet PC.
By having the client machine be an appliance running a terminal emulator, my colleagues and I can be indifferent to one another’s choices in desktop environment: there can be Mac people and Windows people and desktop Linux people etc. In my case I can have a slim little MacBook Air that can drive a big display, play sound properly out of the box, wake/sleep properly out of the box, and otherwise get out of the way while I work on the “real” computer, which can be anywhere with a manageable ping from here.
There are disadvantages too: mostly that networks go down, GUIs are nice for some things, and others. It’s not a free lunch.
It’s a tradeoff (and I’m aware that it’s surprising to many that regular computers still aren’t fast enough for many hackers), buts it’s not just Luddism.
- _0w8t 4y agoOne can run GUI editor just as well either directly via ssh -Y or via VNC. So this is not an argument for a terminal editor.
- benreesman 4y agoX and VNC and all the others place much higher demands on your network connection. If all your boxes are reasonably local those can be great options, but they still don’t obsolete tmux and stuff. Nothing obsoletes tmux and stuff. Whether it’s vi or emacs or tmux or whatever: this field is too competitive to let shitty stuff stick around for decades. People who go all terminal know the alternatives, they’ve tried them, they try the new ones, and they know what the fuck they’re doing.
- _0w8t 4y agoWhile I agree that ssh -Y requires a somewhat fast connection, VNC works at 10 MBit/s. RDP and XDPA works at 3 MBit/s. And if the speed is lower, then typically it also implies a high latency. Then I have found that running a GUI remotely via xpra gives a better experience than running an editor with IDE features under ssh and tmux. I suspect XPRA protocol simply has less round trips than a terminal IO as the latter was never designed for high-latency links.