I use ssh + tmux + emacs. Security policy states no local copies of development files are allowed at my workplace without special authorization, which I never bothered asking for. Migrated my emacs configuration to the remote server as a git repository, along with any programs that aren't available (e.g. git, which I use for unofficial code; official code is managed via perforce). Use GNU stow to move those configura…
Ask HN: How do you work efficiently on remote servers?
81–87 of 87 posts
Re: Ask HN: How do you work efficiently on remote servers?
#82If latency is a concern, use a remote file system (Fuse etc type thing). That way you can edit using local software and only write across the wire when you save.
Many editors will periodically check for remote changes (especially when switching away from and back to the editor) which can cause pretty annoying slowdowns.
Re: Ask HN: How do you work efficiently on remote servers?
#83I recently read a blog post of a guy who started coding on a cloud VM using an iOS SSH app + bluetooth keyboard. He never stopped. The setup forces you to only work with SSH and eliminates distractions.
Re: Ask HN: How do you work efficiently on remote servers?
#84You learn how to use the terminal, and only the terminal. I recently read a blog post of a guy who started coding on a cloud VM using an iOS SSH app + bluetooth keyboard. He never stopped. The setup forces you to only work with SSH and eliminates distractions.
I've read it a while ago. Of course if you only use command-line editors, it's nice. But some people prefer Sublime or other graphical editors.
Re: Ask HN: How do you work efficiently on remote servers?
#85Vim, mostly. The customization is remarkably easy, just copy my .vimrc and .vim out to the server. I have a folder containing all of my dot files which I sync between servers, and a simple bash script which creates softlinks to them in my home directory. However, I don't do remote development as much anymore since I picked up the habit of using Vagrant locally. Now I can edit the files locally (though still with Vim)…
How do you share the files with your Vagrant VM? When we tried that at work, we noticed that trying to have a git repo on a share with Vagrant (rather than having it created within the VM's filesystem) was VERY slow.
To get around this shortcoming, the sharing is mostly one way: from the host to the VM, via the default shared folder. I've not had problems with VBFS when managing files in this manner.
There have also been times where I have implemented watch scripts against files on the host, which triggers a rsync to the guest's normal file systems. From there, the file system behavior is more like what we can expect from a typical virtual machine.
To support workflows similar to what I do against non-local VMs, I've worked up some wrapper scripts which allow me to interact with the Vagrant VM via the usual ssh, scp, and rsync. When running "vagrant up", I also write out the VM's SSH configs and a ssh alias concatenates these with my base .ssh/config file.
Re: Ask HN: How do you work efficiently on remote servers?
#86On projects too small to have a workflow for automated deployment (let's be real: not everything is worth the overhead of setting up all of those tools), I've found the duo of Sublime and ExpanDrive[1] works well. The latter mounts a server that is accessible via SSH as a local drive (it's essentially a nice GUI for something like sshfs). Otherwise, some combination of tmux and vim/nano/emacs. 1. http://www.expandriv…
I have a hard time disagreeing with this, since quite a bit of my professional life involves writing such configuration files.
That said, even in the cases you describe, I at least try and set up a shell script or makefile to keep things repeatable and documented.
Re: Ask HN: How do you work efficiently on remote servers?
#87FTP? People still use FTP??? That's a protocol from another era, was designed to work in a way that's not compliant with today's best practices. The only FTP server I have runs on a Raspberry Pi file-server I have at home. There's no firewall in that little gem running. As for tools, well vim is my default editor so: vim (really lots of plugins, themes, extension support, personal .rc, etc.) + tmux (tmuxinator for pr…