I see no reason to develop on a server. If that's what you're doing, that's a very bad sign in most of the cases.
Ask HN: How do you work efficiently on remote servers?
21–30 of 87 posts
Re: Ask HN: How do you work efficiently on remote servers?
#22I'd argue you shouldn't be working on remote servers at all. Ideally you should be working locally and deploy using Capistrano, Jenkins, Bamboo or git hooks etc.
Re: Ask HN: How do you work efficiently on remote servers?
#23Migrated 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 configurations and binaries to the right places. If I need to move non-confidential information around I collect it in an emacs buffer and then use M-x compose-mail to send it out. The home directory is an NFS mount so I can also mount my home directory and exchange files that way. Etc, etc.
I also set up a lightweight Arch virtualbox VM that I SSH out of, because I really don't like the available Windows terminal applications, and every so often I need a local Unix box for some random reason.
A lot of my coworkers use Sublime and remote file editing, but I work faster when using Emacs (comint-mode is a godsend). We mainly work in Perl, Javascript, and HTML so none of the bigger IDEs are really appropriate.
Edit Since people seem more interested in the Sublime workflow, I asked for a few more details. Coworker replied: "Sublime SFTP [...] you might want to mention that the only advantage to SFTP over remote mounting the server is the save time, as with SFTP, you save local and push in the background, meaning frequent saves don't constantly stall workflows. Otherwise, there is no real advantage over just mounting directly." It is worth noting that he is working on a Mac, which has some severe bugs [1] when it comes to NFS mounts, and Samba has some latency issues in this instance.
Re: Ask HN: How do you work efficiently on remote servers?
#24I see no reason to develop on a server. If that's what you're doing, that's a very bad sign in most of the cases.
Why you think is that? Could you, please, elaborate?
1) The developers in this company that work with ColdFusion develop their software on a dev server because they would otherwise require expensive licenses for each dev machine. This means that devs often find themselves editting the same file. It also means that one dev can break the software for all other devs. Last but not least, it makes version control a ton harder.
2) Another scenario is where you fix a bug on the production server to roll out a fix as soon as possible. Sometimes this is acceptable, but there's a big risk because you no longer have the ability to test the code first. This also makes version control harder, because the next time you deploy your code, the changes will get overwritten.
3) Working with a remote IDE or just having your own development server: doesn't really make any sense, most devices (laptops, PCs, tablets) can run some kind of IDE/editor locally and allow you to run the code locally. Using remote software only adds a huge dependency on having a working internet/network connection.
Re: Ask HN: How do you work efficiently on remote servers?
#25Earlier quoted context omitted.
Sure, that's ideal, but what if you have a small laptop? It would be nice to make use of the power of your server to compile more quickly, and speed up your development cycle, right?
have a buildbot/jenkins set up which runs your test suite on a buildslave automatically when you push to a git branch? I would still run my editor locally (your pick. I use vim almost exclusively).
Re: Ask HN: How do you work efficiently on remote servers?
#26I 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…
Re: Ask HN: How do you work efficiently on remote servers?
#27I'd argue you shouldn't be working on remote servers at all. Ideally you should be working locally and deploy using Capistrano, Jenkins, Bamboo or git hooks etc.
"Remote Server" Doesn't necessarily mean "Production Server"
Re: Ask HN: How do you work efficiently on remote servers?
#28I'd argue you shouldn't be working on remote servers at all. Ideally you should be working locally and deploy using Capistrano, Jenkins, Bamboo or git hooks etc.
Not everyone has the same workflow, partly because not everyone has the same work.
Re: Ask HN: How do you work efficiently on remote servers?
#29I see no reason to develop on a server. If that's what you're doing, that's a very bad sign in most of the cases.