Hacker News new | ask | show | jobs
by austinjp 1754 days ago
Dumb question, from someone who doesn't use web-based instant environments like these: what are some popular "locally hosted" alternatives?

For reasons of personal taste, I just don't like browser based development (not to mention how resource hungry it can be), and I get antsy when relying on third-party hosted services for day-to-day work. I like to treat my laptop as a fully-integrated, offline-capable *, cheap, almost disposable development environment. If I accidentally destroy my filesystem or whatever - which has happened at least once :) - I want to be able to stand it up again and get to productivity within the day.

I appreciate that hosted services are appealing because they "solve" exactly this problem. But I want a locally hosted solution, thanks.

Is it just a matter of code storage (git repos, backups, whatever) + VMs/containers + IDE? Is everyone cobbling together their own solutions? Are there recognised standard approaches, or are they specific to the orgs within which they evolve?

My personal case is as a solo web developer, but I'd be interested in hearing from individuals and teams of any size.

* Edit: By "offline-capable" I more mean "offline-first". I'm occasionally nomadic, and use my laptop on a long train/plane journey where internet is unreliable or unavailable. Plus I have a hardware off-switch for radios to save battery. I'm also slowly implementing local caches of software installed with apt/pip/yarn/whatever so I can pop-up and tear-down virtual environments without necessarily needing an internet connection. (This is a work in progress.) So I'm not interested in cloud-based environments, but thanks to those who have suggested them.

5 comments

You can use nix to provision a dev environment from a package derivation:

https://nixos.org/manual/nix/unstable/command-ref/new-cli/ni...

https://news.ycombinator.com/item?id=28184068

  nix develop nixpkgs#emacs
Nix is <3. Here's a template where you can take it for a spin on Gitpod.

https://github.com/gitpod-io/template-nix

Personally I run all my software via nix, in a monorepo with a layout similar to google3, that generates/serves docker images via https://github.com/google/nixery, supports x64/m1, local development, codespaces and gitpod.

That sounds interesting, do you have a link?
Yes!

1. https://www.youtube.com/watch?v=VqwEnd_2Vzk (sorry for recording quality but it is worth watching and it'll change how you think about what is possible)

2. http://github.com/ghuntley/ghuntley (see .devcontainer/devcontainer.json and .gitpod.yml for codespaces / gitpod isomorph)

3. https://code.tvl.fyi/tree/

4. Come find us and hangout https://tvl.fyi/ <3

Some people do everything in local containers, with one container for each project, the same way others do it with a vm on a server[1]

The upside being that you still have little to no "contamination" between projects dependencies, files and configuration, each project being entirely self-contained.

[1]: https://towardsdatascience.com/how-to-create-your-own-vs-cod...

Not sure fully integrated and cheap/disposable go hand in hand. Depends on what type of integration you have.

I have my laptop configured in powersafe profile (battery improvement and lack of annoying fans is a plus) and I get noticeable delays when working within my IDE on certain workflows.

I also from time to time travel and I'm aware of spotty internet.

Nevertheless I'm more and more enamored with the idea of owning cheap Pinebook Pro notebooks and renting a cheap server to run my IDE over VNC.

I can't focus on work while on public transport so that setup might work just fine for me in the future. Spend that time instead reading a book, win-win

Check out https://code.visualstudio.com/docs/remote/containers

I think that GitHub Codespaces are built on this technology. It should allow you (or any of your team mates) to start coding almost instantly, you need to install vscode and docker on your host machine and that's about it.

Rent a server in the cloud, install docker there, point your local docker to this cloud server and your laptop turns into a thin client.

That's a theory at least.

Warning though, it's ram hungry. Not gonna run well on a $5 droplet.
Thanks for this warning. My local environment is an old ThinkPad t420 maxed out at 8.9Gi RAM. I do as much as possible in the terminal. If VS Code won't run well on a Droplet, it's unlikely to be an option for me.