HACKER Q&A
📣 chakerb

How do you work with slow/metered connection?


I leave in an area where there's no fiber. We only have ADSL and 4G. usually ADSL is pretty slow, especially during peak hours. And 4G is metered so it start to be a little costly with time. Sometimes I have to download hundred of Megabytes of dependencies and it takes almost an hour to finish.

What are your tricks to manage internet when it's slow? PS: moving to another place isn't an option with all things related to COVID-19.


  👤 austincheney Accepted Answer ✓
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.


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

👤 zhte415
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?


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