3 ms·
What I've found is that I'm rarely offline when I'm working. Regarding hackers, I guess the risk is about as much as having production servers online or using
by fierarul 16y ago
What I've found is that I'm rarely offline when I'm working.
Regarding hackers, I guess the risk is about as much as having production servers online or using EC2 and github.
- Ixiaus 16y agoI would say I'm offline often. I was interviewed by a company who's tech lead required everyone to program using VIM only on the server (production server). They didn't want any of the developers to have code on their machines for fear of them running off with it or something. I won't even begin to enumerate the problems with that philosophy (developers editing code that was live and used the production DB - this was the biggest uh-oh) and other glaring issues of not trusting your programmers. I promptly explained their silliness and walked out the door. The most important feature of working-on-your-desktop, however, is to have mobility and isolation. I never let anyone edit code through SSH on the live server. If something is brokedd, even if it is something big, it can wait an hour to be fixed, peer tested, unit tested and pushed to the server. Plus WHY IN THE WORLD would you have your VCS history on the production machine!?!?! I don't get that about some of these cloud services that have you clone your source repository! Laptop + Emacs + local db + Mercurial + rsync + Fabric is flexible and expressive in a way that anyone arguing for on-server only editing can't argue against. I make a edit, hit refresh on the browser and verify it works as I expect it to then I simply type in "fabric deploy" and it asks me if I'm pushing to the staging server or to the production server. If I tell it I'm pushing to the production server it runs all of the unit tests for the project to make sure my edits didn't go f'up something else in the application I wasn't thinking about at the time. If the tests ALL pass it then rsyncs the files up with the server (using checksum not timestamp comparisons). If the tests fail, nothing happens. [EDIT] Obviously I make batch edits - running unit tests for the whole project more than once a day would be ridiculous. But you get the idea. It's the best process I've come up with so far and I've tried a lot of stuff. I've seen many horrors related to on-server editing. Code on YOUR machine. Period.
- fierarul 16y agoWhat you've said about using staging and production servers and never pushing directly to the production server is valid. Of course an online IDE doesn't mean editing code on the production server! You would still need to run a deploy towards the test/live server, run tests, etc. It's not about throwing away the best practices or existing methodology, just about bringing the IDE more up to date with the online centric nature of coding.
- Ixiaus 16y agoI don't mean to be an ass I just think your time spent working on this tool could be invaluable working on some sort of shared-state mode for Emacs or VIM. I wouldn't go from Emacs to an online editor, no matter how good it is, because I don't have complete control over the software and where the code is being edited. That is important to me and many other developers...