Ask HN: How do you work with slow/metered connection?

  • The first time I was in Afghanistan the personal internet was available at dial up speeds from shared access over a civilian satellite dish. Think 56kbps speeds with high packet loss and occasional service interruption. I was there for a year so you just learn to make due. To complicate matters I was frequently traveling and when traveling I had no personal internet, so I would have to plan wisely and download everything I needed before going on my next work adventure.

    > Sometimes I have to download hundred of Megabytes of dependencies

    I refuse to do that even now. I make two exceptions:

    1) ESLint is a really nice package, but has a sickening number of dependencies. I don't update ESLint very often and because I use it enough I just use it anyways. I always install it globally instead of including it in my projects because of its dependency bloat.

    2) At work the team might make a horrible decision and force usage of AngularJS, or something equally stupid. If they want to waste my time with that stupidity then so be it. I get paid to sit there all the same.

    My various trips to Afghanistan have largely shaped how I program. Back in that day I thought jQuery at about 65k was horribly excessive, and now you could require 300mb of packages to write a page of HTML. I won't do it even though I have gigabit internet at the house.

  • If possible, I work on a remote machine with a faster connection, if that results in less traffic and is comfortable.

  • Change work-flow?

    Figure out what you need in dependencies and set up a job to run overnight when you're asleep and/or at lunchtime or dinner time when you'd be eating/cooking, or any other idle time like a bit of exercise?

  • I think Desktop as a Service (DaaS) providers can solve your problem.