Scott Hanselman

Arusha Tanzania 2006 Day 9 - Bandwidth

December 11, 2006 Comment on this post [3] Posted in Africa | Tools
Sponsored By

If you're traveling reasonably far off the beaten path and you want to stay connected, there's a number of things I've found to be useful.

We're staying with my sister-in-law who works for the UN ICTR (International War Crimes Tribunal on Rwanda) in Arusha. We're actually living outside Arusha in a town/village called Njiro. The power is only on from about 9pm to 9am, and is usually off in the daytime. The water supply also turns on and off, so there is a 5000 liter tank on top of the house. When the water turns on, assuming the electricity is also on, a pump takes water up to the tank, and because it's on the roof we get water pressure.

As for the computer and internet, they're using a Dell Inspiron 7500 that I gave them a few years back. It's running Windows Server 2000 and was SP2 along with Office XP. I wanted to update them to SP4, but the download is 129megs.

The connection to the internet is a CDMA cell phone connection that starts at 9600bps and tops out (bursts) to 163kbps which is about 16K a second, although the effective bandwidth is about 7K a second. The biggest problem is timeouts and lag. We're using a Huawei modem which looks exactly like a regular desk phone, except it has an antenna. It's connected via a USB to Serial cable, with USB on the computer side and 9pin serial on the phone side. The phone also has an internal battery.

It's actually very common to see ladies on the side of the road (when you're outside of town) with these phones on a small table. They charge passersby to use the phone like a  pay phone. It looks and feels like a regular phone, it's just a cell phone.

Tracing route to hanselman.com [66.129.71.242]
over a maximum of 30 hops:

  1     *        *        *     Request timed out.
  2   311 ms   340 ms   381 ms  msd-hq.ttcldata.net [192.168.3.2]
  3   621 ms   331 ms   501 ms  196.46.106.97
  4   341 ms   320 ms   361 ms  196.46.107.1
  5   981 ms  2284 ms   941 ms  t3a1-fa2-0-0.uk-goo.eu.bt.net [166.49.213.45]
  6  1402 ms   951 ms   971 ms  t2c2-p3-2.uk-lon2.eu.bt.net [166.49.163.73]
  7   891 ms   841 ms     *     t2c2-p4-2.uk-ilf.eu.bt.net [166.49.195.125]
  8  1072 ms  1282 ms  2003 ms  t2c2-p4-0.us-nyb.eu.bt.net [166.49.164.50]
  9  2123 ms   961 ms  1632 ms  jfk-brdr-01.inet.qwest.net [205.171.1.41]
 10     *      921 ms     *     jfk-core-02.inet.qwest.net [205.171.30.17]
 11     *        *        *     Request timed out.
 12  1272 ms  1152 ms  1482 ms  atl-edge-07.inet.qwest.net [205.171.21.94]
 13  1402 ms   982 ms   971 ms  65.124.11.46
 14  1052 ms  1201 ms  1082 ms  v11.cd2.peak-10.net [66.129.64.9]
 15   982 ms  1071 ms  1202 ms  66.129.112.188
 16  1532 ms  1031 ms  1042 ms  infoquestgujarat.com (hanselman.com) [66.129.71.242]

 Timeouts and long lags are common so here's what we do:

  • Firefox is FAR more forgiving on lousy connections than IE.
  • Turn off images in Firefox's Content options.
    • You can include a list of domains or subdomains that you want images automatically loaded.
  • I use GetRight for large downloads. This is a fantastic program no matter what connection you have. It took two and a half days and 400 retries, but we finally got the 129meg Windows 2000 SP4 downloaded. I tried the Express download, which would have been about 30M, but it includes its own downloader and it wasn't very forgiving.
  • Include common sites' IP address and hostnames in your hosts file, and save a multi-byte DNS lookup. Sounds silly, but it makes a difference in reality.
    • Alternatively, run your own local DNS server (easy because we are running Windows Server, although there are open source options) and make sure it caches aggressively.
  • Use a remote image compressing HTTP proxy. I wasn't able to prepare for this as I didn't anticipate the bandwidth being this poor, but next time, and possibly just as a favor to them, I'll write one in C#.
    • If you REALLY compress JPEGs and such (I mean like 10% quality) you'll be able to get the jist of the page, and then add something like ?compress=false at the end of the request to get the uncompressed version if you need to.
    • You can also install SquidProxy on a machine in your home country, and open the appropriate ports. When you get to your remote location, Squid can (possibly?) gzip HTTP content and cache aggressively.
    • Another lighter-weight alternative is ziproxy that will compress all content, but not cache it. It appears to be actively developed. I'm interested in trying this one as well, it may be more useful for my needs. 
      • I may go to an Internet Cafe and remote into my home machine in the US and do this. Unless one of you, dear readers, wants to hook me up? ;)
  • If you're using a modem, make sure that hardware compression and error correction is turned on.
  • Know your bandwidth, and know what time of the day it's fastest. Around here, when the power is out, the Internet gets faster as most folks' computers shut off. Also, for whatever reason, it's fast (ish) from 1pm to 3pm, and slow at all other times.

Anyway, have a nice day. We're going for a walk now. I'll post more on Malaria and my recent strange sickness later.

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook bluesky subscribe
About   Newsletter
Hosting By
Hosted on Linux using .NET in an Azure App Service
December 11, 2006 18:26
Scott, I have enjoyed reading your entries on your trip to Tanzania. I took a trip to Niger a few years back and your experience bring back a lot of those memories. Although Niger is on the other side of Africa they have some similarities: Malaria, health concerns, troubles with electronic equipment, frequent power, and phone outages, and limited Internet capabilities. At the time, the country's Internet connection was 64K. That was the bandwidth for the entire country!! Hausa is the dominate language there and the Hausa word we used regularly to describe the technonlogy issues there was 'Wahala' (trouble).

Thanks for the blog. (Of course I read it for the .Net issues as well.)

Rick
December 11, 2006 20:31
FWIW, I use Opera Mini on my cell phone (http://www.operamini.com/). It does very aggressive server-side compression of web pages. I don't know if there's anyway to take advantage of this on a PC, but it might be worth looking into.

I wonder if it's possible to develop a proxy that talks to Opera's servers?
December 11, 2006 22:21
The villiage cell phone reminded me of a blurb on the cooltools Website a while back (www.kk.org/cooltools) in regards to "micro loans" (http://www.kk.org/cooltools/archives/001484.php):

Grameen Foundation
Inspried by the original Grameen Bank in Bangladesh. Minimum contribution, $100. One of their projects is Village Phone -- cell phones that women buy on loans and then can rent to others for income. "The Village Phone program in Uganda, the first of GF's efforts to replicate the pay phone program outside Bangladesh, continued exceeding expectations in 2005. More than 3,500 microfinance clients have bought and now operate a Village Phone as "Village Phone operators." Besides the boost to operators' incomes, the program is creating a national telecommunications network. Of Uganda's 56 districts, 53 now have at least one Village Phone operator. Often, Village Phone is the first local telephone that villagers have. Having a quick means to communicate has contributed to higher levels of productivity, savings, and safety for entire communities."
http://www.grameenfoundation.org/get_involved/

Comments are closed.

Disclaimer: The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.