Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

It seems inevitable that remote dev environments will become ubiquitous.

With increased distribution of systems, increased use of cloud proprietary infra software that you can't run locally and now these custom SOCs. Companies are just going to give up on local dev environments and force everyone to write code in a browser.



Maybe not in a browser, but in VS Code with custom extensions — definitely happening already.


My primary workflow on side projects right now is VS Code with an ssh connection to a GCP instance. It's very quick, and I can run it across both my desktop and laptop, so if I want to go work in the living room I can get up and get to work immediately on whatever was open in the workspace.

The only downside is that the difference between extensions installed on the remote and locally is a little confusing, but the extension ecosystem in VS Code has satisfied all of my use cases. I've also run into some occasional ssh hangups on weak connections, but I haven't experienced that isuse in a few months.

For years I was a linux guy, and now I see no reason to go back, because I can just remotely access a linux environment from whatever system I'm already on. Less time spent swapping between operating systems to work on projects, and a consistent environment, are both huge features.


I've been experimenting with VS Code remote for the past few weeks, and I'm really enjoying it. I have a Linux desktop that I run headless in the closet and can connect to it from thin clients. I recently bought the base model new Macbook Air to replace my Linux laptop which I'm hoping will give me the best of both worlds: thin and light laptop with great battery life which I can connect to a powerful Linux server/desktop for development.

This way I don't have to spend so much money on expensive desktop replacement laptops.


This is actually a good idea, I've been meaning to turn one of my old laptops into a media server, but it hadn't occurred to me to use it as a development server as well.

I'm in a similar boat as the Macbook Air, but I was going to go for a Surface Book because I want the detachable tablet features


Does the extension build/test code locally or on the remote system? It would be great to keep my local system free of all the build tools and dependencies.


Build tools run on the remote system.


This has been available since the 90s, 80s if you count telnet. Yes it has improved, but what hasn't in that timeframe?


Timesharing is back! At least it is better than those X Windows terminals I was using in 1994.


Hopefully with another attendant revolutionary operating system


You mean the web browser ?


At least VS Code means we'll have options for a half-decent IDE in the browser. (Not that there's anything wrong with vim or emacs over SSH-in-a-browser, but...)


Note you can open files through SSH in Vim. This is better that ssh'ing on a machine that runs Vim, because all the editing is done on your machine. It only uses the connection when you save the file.


Emacs too, of course: https://www.emacswiki.org/emacs/TrampMode

Despite that I still tend to ssh to machines and use a local editor, because I typically don't want to just edit files, I also want to run some commands in-between editing files.


Tramp will run whatever commands you want to run on remote server if you're running commands with `M-!`

I use it for work sometimes, that + vterm and ssh makes for a fairly pleasant remote editing experience in emacs. LSP even works over tramp (kinda)


You can also SSH -X and start a GUI app on the remote machine. (you can install Xserver on both Mac and Windows) Although you need low latency/ping or it will lag.


I have tried this setup recently (with XQuartz) but it had abysmal performance compared to a Tiger VNC session with a Linux server and a macOS client. I couldn't figure out why. I remember it was working better decades ago over 10Mbit/s connections, running on 80486 machines... Maybe between 2 Linux machines running the same Xorg versions would work better?


I have not studied the Xserver protocol so I am only speculating. I think it would work better on older GUI's that uses predefined UI components vs apps that treat the UI as a canvas and re-paints rather then reusing components. That said, when experimenting I have found it works on games too. But high latency (more then 1ms) will kill the experience, so slow radio like wifi or a mobile modem would not work. Its funny that we have made so many advances in network an compute, both in reduced latency and increased bandwidth/capacity, yet its all eaten up by consumer stack layers, like 10ms lost due to slow radio, and another 10ms putting the image on the screen, and maybe 1-5ms in software layers. And a keyboard or touchscreen with 100Hz poll rate.


VS Code can do that as well (I think it might be how they implement WSL support too).


> half-decent IDE in the browser

https://aws.amazon.com/cloud9/

It was more than half decent last time I used it.


Personally, my development routine is to use VSCode's "Remote Connections" as my primary way of editing code/interacting with the CLI (via the built-in terminal). It lets me work closer to the shell with a shareable app instance (pointed at a dev.myappname.com domain) that I can share or Slack a coworker at any time.


Could you elaborate a bit on the shareable app instance (or just share links to its documentation)? That sounds really useful but I hadn't heard about this use case before


I assume they are talking about something like https://github.com/cdr/code-server .

It’s vscode in your web browser. Run it locally in your dev environment and setup your web server to proxy vscode.your domain.tld to it and boom, you have vscode running in your dev environment that anyone with a link can access.

The fastest way to set it up with tls+auth is probably something like https://hub.docker.com/r/linuxserver/code-server + caddy configured with basicauth.


Looks like this is what he's talking about: https://code.visualstudio.com/docs/remote/ssh

I haven't used the remote SSH feature, but I have been playing around with GitHub Codespaces through VSCode. Once you have the extension, you can select a repository and it will spin up a virtual workspace for you on their servers. It actually works surprisingly well- tasks like installing node packages is faster than on my local computer and it automatically handles things like setting up a proxy for local web environments.


Looks like I won't be needing that sweet Apple Silicon, after all.


Why? If we indeed go remote dev we need laptops with exceptional energy efficiency for browser workloads.


Not to mention not burning ourselves slaving over a hot laptop.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: