3 ms·
Recently, I've experienced working on a remote server. It was a real pain. You need a crazy fast connection to be productive. Otherwise, you're stuck waiting fo
by conradk 9y ago
Recently, I've experienced working on a remote server. It was a real pain. You need a crazy fast connection to be productive. Otherwise, you're stuck waiting for changes to save, for pages to load, etc. Of course, you can only hope the network doesn't break down or the cloud IDE company makes a buggy deploy.
As a remote developer, I like working in different places. These places don't always have nice internet. Working with a local environment and 4g connection is fine, because 4g is more than enough to look up docs. But working with a distant environment and 4g connection is very slow and unreliable.
Nowadays, a lot of people praise the "cloud" or everything. Use APIs for everything, Use public CDNs to load up bootstrap and jquery. Use an online IDE. Make a hosted Git service an essential part of your workflow. The thing is, not only do these services occassionally break, but some might get compromised (https://techcrunch.com/2018/02/12/browsealoud-coinhive-monero-mining-hack/ https://techcrunch.com/2018/02/12/browsealoud-coinhive-moner...) and some even ask you to install closed source binaries to your system without any idea of what's in it (keylogger, ransomware, anything is possible).
Given all that, when I read that using a local environment is "anachronistic", I can't help but cringe.
- figgis 9y agoThis really just sounds like issues with whatever web IDE you are using. Remote development does not need to be a huge pain like that.
- conradk 9y agoI wasn't using a web IDE, but the dev server was remote. While I suppose remote environments do not have to be a huge pain, I'd be interested to know how to mitigate all of the issues I mentioned in my previous comment. The only solution I've been able to setup is a local environment with minimal set of dependencies calling the network.
- smt88 9y agoI can't think of a reason a dev server should be remote instead of on your machine, unless you're working with large, live data sets that you can't download... Can you explain the setup a bit more?
- conradk 9y agoWell, with web IDEs, the server is remote, isn't it ? The reason here was the same: easy to setup environment because every dev had the same server image, with same config, etc. I guess that's what remote IDEs have going for them. I think Koding.com markets this very very well.
- smt88 9y agoOh, I see. My teams have solved the same issue by having cloud desktops and using RDP/VNC to mirror the screen on their Chromebook/iPad/whatever. It's surprising how well it works on not-very-fast connections, and you get a very powerful machine on the back-end with a full, native IDE.
- 8note 9y agomost of the time, I don't really need to compile/run the code/tests to know I'm on the right track/it'll work well this minor cleanup. Then, once every few days I can pull out the remote box/IDE and clean up whatever bits of syntax/imports/typos I got wrong or forgot about.
- conradk 9y agoCoding without any kind of test and getting it right sounds incredibly difficult to me. How do you achieve that ? What kind of code do you work on ?
- figgis 9y agoFor testing there are quite a few good remote solutions. Here are a couple I'm familiar with. https://developer.github.com/v3/guides/building-a-ci-server/ https://developer.github.com/v3/guides/building-a-ci-server/ https://docs.gitlab.com/ee/ci/examples/README.html https://docs.gitlab.com/ee/ci/examples/README.html My simplified workflow is: do work locally using whatever IDE I desire -> create a pull request -> server runs the tests and puts the results in the pull request. Much faster than running the same tests on my local machine as well. With the tests being done remote you will also likely not need to commit such large amounts of data that it becomes a problem. > Working with a local environment and 4g connection is fine, because 4g is more than enough to look up docs. But working with a distant environment and 4g connection is very slow and unreliable. Normally even if you are working remote it's expected that you have a stable, decent, connection. But even without one there are plenty of great options. For documentation I actually keep that local using https://devdocs.io/ https://devdocs.io/. Without internet you don't have sites like stackoverflow and that's a downside that really can't be fixed without some serious work.
- conradk 9y ago> Much faster than running the same tests on my local machine as well. That sounds odd. Usually, while developing, running the whole test suite is unnecessary. So running tests is very fast, as long as you only run the tests that may fail after recent changes. At least that's my experience. > not need to commit such large amounts of data that it becomes a problem Not sure what you mean here. Mind clarifying ? > if you are working remote it's expected that you have a stable, decent, connection Definitely ! And 90% of the time I do have a stable connection. But that 10% where I don't (because the wifi breaks down, or I'm on a train to a nearby town), having a remote environment would not work. That's my use case for having a local environment. > For documentation I actually keep that local using https://devdocs.io/ https://devdocs.io/. Wow, that's cool ! I wasn't aware it worked offline ! Will definitely have a look at this. Thanks :)