Getting rich in the world’s poorest continent (airline regulation in Africa)

On the 9-hour flight back from Uganda to London, I was seated next to a Ugandan guy who smelled like he hadn’t washed his armpits in about a week. Every other seat on the Boeing 767 was taken and the stench in my row served as powerful motivation to hang out with the flight attendants in the back of the plane. They told me that Africa was British Airways’s most profitable region, with every flight tending to be full at prices 2-4X per passenger-mile what people pay for trips within Europe and the U.S. What’s the secret? Government regulation. It would be illegal for JetBlue, Ryan Air, or Southwest Airlines to operate flights from Africa to Western Europe or the U.S. The established carriers are shielded from competition and price accordingly.

Full post, including comments

Building a new Computer Science Building, Uganda Style

Makerere University is just finishing a new building for computer science students, including lab space for more than 2,000 PCs. The new building is 12,700 square meters (137,000 square feet) and cost $9 million or $65 per square foot in 2007. It is an easy to navigate stacked set of identical floors, designed by an architecture firm owned by the university and staffed by its teachers and graduates. A Chinese construction firm was engaged at a fixed cost, starting in March 2006.

Stata Center: 400,000 square feet of space above ground, $300 million, or $750 per square foot in 2004. The building was plagued by cost-overruns and the result is almost impossible to navigate.

The MIT building was more than 10X the cost/square-foot of the building at Makarere. When you substract for all of the unusable space in the Stata Center, the cost is probably closer to 20X/sf.

[Another way to put the cost of the MIT building into perspective is by looking at it as an investment in computer science innovation. The MIT building cost more than 10X what it cost to fund Google (source). We can compare any improvements in the CS research done at MIT post-completion of the Stata Center to the value of the benefits to society of Google, Gmail, Google Earth, etc.]

Full post, including comments

Ugandan News: War, Corruption, HIV, Women’s Rights

Surveying today’s newspaper here in Kampala to figure out what is on Ugandans’ minds…

Unremarkably, 10,000 Congolese fled into Uganda on Tuesday. Remarkably, the article says that all 10,000 spent the night at a primary school. Meanwhile, conflicts within and with the Democratic Republic of Congo have led to a ban on night fishing on Lake Albert, which the two countries share. The newspaper also discusses the smoldering 15-year war that the Lord’s Resistance Army, with support from Sudan, has been waging against the Ugandan central government in the northern region of the country.

Several articles chronicle accusations of corruption among Ugandan officialdom. An article on Kenya notes that it ranks 142 out of 163 on a world scale of corruption, with more than half of transactions requiring bribes and the police force being the most corrupt institution.

Maxine Ankrah researched the decline in HIV rates here in the late 1980s and early 1990s. She concluded that the decline was due to a reduction in extramarital affairs. President Yoweri Museveni called for “zero grazing”. I read this piece within sight of two US AID-funded billboards. One depicted four young people with a woman saying “Abstinence is for me–how about you?”. The other showed a young couple saying “I do” and an older couple saying “I still do”, reminding Ugandans underneath to “Be faith to each other and avoid HIV”. An alternative perspective was presented in “Not all truth is useful”, an article on a TV show in which spouses are caught on camera “grazing in foreign pastures”. The writer notes that most of the cheaters are forgiven and says “Once you decide to get married, have children and a career to work on, it is diversionary to play detective when after all you are not going to leave your spouse. So why sniff at all? … The official version is often the safest document. What if HIV is unavoidable? An article reminds us that South Africa’s health minister “advocated garlic, lemon, and African potatoes over conventional anti-retroviral drugs.”

[A teacher at Makerere University brought me up to date on marriage in Uganda. First, one can have as many wives as one can demonstrate the financial capability to support. Second, a wife won’t expect much attention. If she is able to buy what she needs and wants, she will be satisfied. (caveat: this is according to a computer science professor)]

Jenn Jagire, a Ugandan living in Canada, discusses the virtues of the bride price and how women were more valued in the old days. “In the West, Canada in particular, where there is no bride price, women are sometimes called ‘bitches’ by men. Men still beat up their wives, but not necessarily because they paid any bride price for them.”

There isn’t much news from the U.S.; one article about a woman attacked by two pit bulls in Washington State and another about US-Libya ties (Libya is a big investor in Ugandan infrastructure).

Full post, including comments

Improving Undergraduate Computer Science Education

These are the notes for a talk that I’m giving tomorrow at Makerere University in Kampala, Uganda. I’m posting them here because it is a convenient way to write and others might find these interesting.

I’ll talk about MIT because that is where I have the most experience teaching.

MIT operates the same way that it did upon opening in 1865: two semesters with long vacations in between; students do most of their learning in take-home problem sets (6-9 hours/week/course) for which they get some inspiration in lectures (2-3 hours/week); evaluation/grading is done by the same people who are teaching/coaching.

The calendar was designed for rich families. You want your kid available in the winter so that you can take him down to your estate in Florida. You want him free to accompany you on a Grand Tour of Europe during the summer. In 2007, however, most college students are from middle-class families. Why would you want to pay for the kid to attend four years of college, plus spring break trips to Mexico and summer vacations, when a bachelor’s degree could be obtained in 2.5 years on a normal 48-week/year work schedule?

How about lectures? You need to broadcast some information to 100 people. Printing was expensive and cumbersome in 1865. Telephone, television, and Internet did not exist. A lecture was probably indeed the most efficient way of getting some information to a large group, despite the fact that humans can read 3X faster than they can listen.. Compare to 2007, however, when you could simply email a list of those 100 people or provide them with a URL.

Why did people come to lectures in 1865? Their lodgings weren’t centrally heated and the temperatures in Boston can get down to -10C. Many came to get warm. They had no television, no radio, no Internet, no email, no instant messaging, no mobile phone. Many students came to lecture for entertainment.

What about homework? Students would do homework either in the library or at home. In 1865 both places lacked television, video games, email, etc. In 2007, the students who do best may be the ones with the best study habits, not those who are the most able. Companies do not rely on lecture+homework for getting work done; they create an environment with limited distractions and keep workers there for most of each day.

Evaluation and grading in 1865 was done by the teachers. This is an invitation to dishonesty since you are always tempted to give students As, but there was little alternative since student work was not easily accessible to others. In 2007 in most areas of academia, student work can be viewed just as easily by someone on the other side of the planet as by the teacher. If we want to ensure quality and that students always regard us teachers as allies, why would we want to be involved in evaluation?

How well does the MIT system work? It should work pretty well. We have some of the best and most energetic lecturers in the U.S. Lectures are generally kept to 50 minutes (more than double the limit established by education researchers). The lectures are demanding; if you tune out for 5 minutes, you will have a lot of trouble catching up. Professors do not put up PowerPoints and read them bullet by bullet. Homework assignments are weekly in most courses and are extremely demanding. The students are among the most able and best-prepared in the U.S. Yet when you ask graduates in CS what percentage of their classmates are capable of programming and what percentage they would enjoy working with, the answer is usually 25-30 percent. People who studied poetry, physics, or civil engineering are often better software engineers than an MIT CS graduate (contrast with medicine; not too many good doctors out there who skipped med school). A MIT student graduates ready to work for an engineer, not to be an engineer. Not too impressive considering the near-$200,000 cost and the abilities of the incoming students. (And the problem is not always fixed on the first job; companies tend to give junior engineers a tiny piece of a big problem, not a small problem to solve by themselves).

6.171: Software Engineering for Internet Applications. This is a one-semester attempt to address the deficiencies in the rest of the curriculum. What do we try to teach in 13 weeks?

  • object-oriented design where each object is a Web service (distributed computing)
  • about concurrency and transactions
  • how to build a stateful user experience on top of stateless protocols
  • about the relational database management system (there is no DBMS course at MIT)
  • how to work at every stage of the engineering life cycle: listen to a vague request, write down a precise spec, build a prototype, document for other programmers, test with users, refine, launch, refine, document for decision-makers

How does it work?

  • Students organized themselves into teams of 2 (ideal) or 3 (acceptable) and are connected with a real-world client.
  • Lecture time is devoted to teams presenting either designs or prototypes and the other teams criticizing. This prepares students to participate in engineering design reviews. If nobody makes a suggestion I consider important, I will make it myself at the end of a review or via email to the class mailing list after class. If I have something that I want everyone to know, I add it to the online textbook or email it to the class prior to meeting.
  • Occasionally we will use the meeting time for teams to work together (sometimes paired with another team) on a data modeling challenge. This works great in rooms with a lot of blackboards and after 20 minutes we start asking teams to present their work while others criticize and comment.
  • Most evaluation is done by the clients (usually non-technical), professional interface designers whom I bring in, and professional software engineers whom I bring in as mentors and critics. The final presentation and write-up is evaluated by a team of business executives and venture capitalists; students are told to pitch the project as though they were seeking follow-on funding.

How well does it work?

Conclusion:

  • Lecturing has been found to be extremely ineffective by all researchers. The FAA limits lectures to 20 minutes or so in U.S. flight schools.
  • Lab and project work are where students learn the most. The school that adopted lab/projects as the core of their approach quickly zoomed to the first position among American undergrad schools of engineering (www.olin.edu).
  • Engineers learn by doing progressively larger projects, not by doing what they’re told in one-week homework assignments or doing small pieces of a big project
  • Everything that is part of a bachelor’s in CS can be taught as part of a project that has all phases of the engineering cycle, e.g., teach physics and calculus by assigning students to build a flight simulator
  • It makes a lot of sense to separate teaching/coaching from grading and, in the Internet age, it is trivial to do so. Define the standard, but let others decide whether or not your students have met the standard.
  • A student who graduates with a portfolio of 10 systems, each of which he or she understands completely and can show off the documentation as well as the function (on the Web or on the student’s laptop), is a student who will get a software development job.

More:

Full post, including comments

High Speed Internet for Everyone in Africa

African economic growth has been impeded for many decades by government-imposed restrictions on telecommunications. This was crippling when the continent was underpopulated and competing with the U.S. and Europe. Now that the rest of the world is communicating via Internet, the population of Africa has exploded, and the competition is with India and China, the denial of telecommunications to Africans is an even worse drag on the economies of the region. With an increased population and a fixed amount of land, people in African can no longer remain on their farms, but when they crowd into cities such as Lagos or Nairobi, the results are not happy.

Foreign aid hasn’t worked very well. The majority of the aid is siphoned off by officials, bureaucrats, and NGO staff who live in $5,000/month houses and maintain an upper class American lifestyle in the midst of desperate poverty. Such aid that does get through is often counterproductive (source).

What if instead of sending aid to Africa, we sent a network of telecommunications that was priced competitively with Internet service in the rich world? For $25 per month, any African could obtain 3 Mbits/second. The network would be available everywhere on the continent, thus reducing the pressure on people to move into the crowded cities. A space-based network would be the only way to achieve universal service and bypass the telecom monopolies that plague many of these nations.

With a universal network priced at $25 per month, the monopolies would be forced to cut their prices and improve their service (currently South Africa’s telecom prices transmission through their cable to London at 100X the cost of other undersea cables). Presumably the residents of big cities would be served with faster cheaper service from DSL, fiber, or cable modems. That would not render the satellite-based system obsolete, however, as it would be useful to people in remote areas or in countries afflicted by war.

What would it cost to do this? Iridium, an old and slow network, cost approximately $5 billion to build and launch. http://en.wikipedia.org/wiki/Teledesic promised roughly the same kind of performance that would be required to serve Africa. It was set to cost $9 billion at the time that it was scrapped.

Total foreign aid since 1960, from all the rich countries combined, has been approximately $2.6 trillion, or 260 times the cost of building Teledesic. Building a system like this fits in nicely with the traditional First World concept of foreign aid: we give money to a poor country, but insist that it all be spent on products built in the donor country.

Africans would actually be grateful, I think, for such a system. All of Tanzania, 35 million people, currently share about 30 Mbits of Internet connectivity, the same amount of bandwidth that Verizon offers to American families in their homes via their FiOS service.

Full post, including comments

“Aid is Africa’s biggest problem, not AIDS”

I had a conversation with Carl, a business manager who was born in the U.K., but has been living and working in Africa for most of his life. At one time he managed a SCUBA diving operation on Lake Malawi and one of his close friends was a local farmer. He asked the guy why he didn’t water his crops.

“Every week a Toyota Land Cruiser from the UN drives by my farm. He gives me food if my crops are dying. He says if they are still dying at the end of the season, he will give me a pump to bring water 1 km from Lake Malawi. In the same circumstances, would you spend two hours a day carrying water?”

The experience of folks on the ground would seem to contradict Jeffrey Sachs’s plan to jump-start African economies by providing unlimited free food, shelter, medical care, and education. The human capacity for laziness exceeds any amount of money that might be shoveled in.

Carl said that he had read a study that determined that, prior to the recent rise of tourism, the average Zanzibar male worked 8 hours per week on subsistence farming or fishing. Carl noted that when he offers these folks a 40- or 50-hour/week job, they say “I’ve never done that. My father never did that. My grandfather never did that.” Carl conntinued: “I pay double the going wage. People work for me for four months and then one day they simply don’t show up.”

Why do people have to work harder than they used to? The number of fish and amount of land is the same, but the human population has exploded. With enough production of human babies, eventually people have to start working hard to feed them (or wait for a UN Land Cruiser to drive by).

Carl has seen virtually all foreign aid wasted and/or counterproductive in every African country where he has worked. In every case, just as noted by James Shikwati, the aid retards economic growth and activity. Carl’s conclusion: “Aid is Africa’s biggest problem, not AIDS”.

[A Red Cross worker in Dar es Salaam estimated that a maximum of 20 percent of aid through her organization actually reaches people in need. The rest is siphoned off by bureaucracy and officials. She mentioned this in a restaurant surrounded by $2 million homes in a country that has no apparent industry.]

Full post, including comments

Project Ideas for a Master’s in Software Engineering?

I’m enjoying the A/C and faster-than-South-African Internet access here at Makerere University in Kampala, Uganda. I’m would like to ask for help from the readers of this Weblog in coming up with a set of projects that will lead a master’s in Software Engineering student through all of the relevant theory and practice.

The goal is to design a program that addresses the problems identified in http://philip.greenspun.com/teaching/undergrad-cs , a notable excerpt from which is the following:

All student work should have the character of an engineering project: client talks about a problem; student team prepares a written plan for solving the problem; student team discusses the plan with the client; student team builds a prototype; student team tests the prototype with the client and users; student team refines the prototype in response to the testing; student team documents its results. Everything in a standard engineering curriculum can be taught with this process. For example, students building a flight simulation game might need to refer to a Physics textbook and do some practice Physics problems in order to learn enough to build their prototype. This makes it a bit tough for the faculty, who need to be clever enough to weave such courses as Physics, Calculus, and Biology into engineering projects. The payoff is that by the time the student graduates he or she will be completely comfortable with the engineering process of listen, design, discuss, implement, test, refine, and write up.

I’ve come up with some project ideas but would like to get more from other folks. Here are some as a starting point for discussion:

  1. Set up server, RDBMS, and HTTP server
  2. Build Web-interface/database-backed personal information manager (like MSFT Outlook) for a businesswoman, providing more limited access to her husband, children, secretary, including capabilities such as spamming a subset of the contacts to invite to a party (touches on data modeling, security, human-computer interaction and interface design)
  3. Collaboration environment for computer science literature, where a paper can be represented locally as a PDF or HTML in the database. Build full-text index of papers in the database. Support registration of multiple users and discussion of each paper. Add a way to mark up or annotate or discuss specific paragraphs (hard for PDF, maybe not too tough for HTML). Example of completed student project in this area: http://philip.greenspun.com/seia/gallery/spring2002/chip/ (touches on full-text indexing for first time)
  4. Web site for a department or a research group within the university. http://philip.greenspun.com/seia/gallery/spring2002/cwnonline/ (touches on collaborative content management)
  5. Web site for uploaded geo-coded photos and videos, mostly from mobile phone cameras, a bit similar to http://philip.greenspun.com/seia/gallery/spring2000/poa/ but with phone browser, MMS interfaces in addition to standard Web interface. Also integrate with Google Maps and other services to enable browsing by location.
  6. Web site for a small local business that also wants to be able to serve customers via Web/mail. (touches on ecommerce for the first time; security becomes a more serious concern if credit card numbers are processed).

Some additional smaller projects that don’t require an external client:

  1. Build own simple HTTP server (maybe in Java, which eliminates the need to implement threads), implementing CGI but not username/password authentication. Also leave out advanced features such as keep-alive. This is an assignment that students at other schools are generally able to do within 10-20 hours, but if we insist on strict implementation of the HTTP standard, it could take a full week.
  2. Build a load tester for Web sites that they can then use on their own servers. This should be built in Perl, Ruby, or some other scripting language with powerful libraries for requesting Web pages. The load tester should be capable of fetching SSL-encrypted pages and also following links that require filling out forms (so that it can simulate a user accomplishing a task). This should be a one-week project (full time).

Thoughts?

Full post, including comments

Arrival in Uganda

I share the exit row with the daughter of a Ugandan member of parliament. She showed me how to play Sudoku and told me of her plans to go to university in South Africa, study business, and then return to “build [her] country”, which concretely means working in a bank for awhile. She has had friends and relatives die of AIDS, but sees the positive side of this with the family coming together and demonstrating how much they care for the soon-to-depart. She has had malaria many times.

We approach over Lake Victoria, celebrated by evolutionary biologists for its rapid radiation of Cichlid species after the lake dried out 15,000 years ago and mourned by environmentalists for its recent destruction accompanied by mass extinction of those Cichlids. The old terminal area has been taken over by the U.N. and other relief agencies for a fleet of high-wing turboprops that they presumably use to fly food into Sudan and other trouble spots. This old terminal is where Palestinians held Jewish passengers of an Air France plane hostage in 1976. The Lords of Poverty are represented by a Gulfstream G-V on the ramp.

The university computer science department’s driver welcomes me and we drive to Kampala over an astonishingly busy road. It after dark, but the sides of the roads are crowded with people walking in front of shops. Several billboards exhort young women to reject “sugar daddies” and “cross-generational sex”, noting that material possessions are not worth the risk of HIV infection.

My driver, Godfrey, comes from a village in the western part of Uganda. A lot of people live in the village, but there is no electricity. Many people have mobile phones and the service is reliable in the region, but charging them is a challenge. His wife is in the government hospital following a car accident. His opinion of the health care system is that it is basically worthless, but if you give money to a doctor privately your loved one will at least have someone looking in every day.

All of the hotels in town are booked by the Aga Khan, who is visiting with an entourage of more than 500. Part of the purpose of the visit is to discuss a large hydroelectric project that the Aga Khan is funding. I end up at the university’s guest house: no Internet, room the size of a monk’s cell, soft/saggy bed, no A/C, mosquito net. The TV in the cafe was showing a Mexican soap opera, dubbed into English, punctuated by commercials cautioning against cross-generational sex.

Full post, including comments

Our new enemy: Eritrea

The newspapers here in Africa are covering a dispute between Eritrea and the United States. We are accusing Eritrea of sponsoring Islamic terrorism in Somalia and other nearby countries. Those of us who have lived in Cambridge for a long time will recall Eritrean independence as a cause celebre from the early 1990s. Now they are independent and we apparently hate them.

What’s the punchline? The total GDP of Eritrea is $1.2 billion (source: CIA Factbook). Our new enemy has an entire economy smaller than what we spend every day on our military (King Bush II has requested a military budget of around $550 billion per year; source).

Full post, including comments

Windows Vista giveth and taketh away

I finally found something that Windows Vista does better than XP. At the University of the Western Cape, fetching SSL-encrypted Web pages requires configuring a proxy server. Folks with XP laptops were having to ask for assistance and get hostnames and ports. My Vista laptop managed to figure it out for itself after I asked Windows to “diagnose the problem with the network”.

Sadly, MSIE could not let go of those proxy settings. When I later connected to an open wireless network, which had a different SSID from the university’s, MSIE still insisted on using the proxy and couldn’t get any Web pages at all, encrypted or otherwise. I had to go deep into the Internet Options menu to disable automatic configuration to get it to work.

So… Vista can be networked just as long as you have 5 or 10 years of experience with computer networking….

Nit: Transparent frames around windows are distracting and, as far as I can tell, pointless. If Window A is on top of Window B, it is because Window A is the one currently in use. If a user wants Window B, he or she can pull it up from the task bar at the bottom. Why should garbage from Window B leak through into Window A?

Update: The computer got into a state yesterday where it wouldn’t recognize certain keystrokes, e.g., the letter “m”. A reboot fixed the problem. MSIE crashes periodically, though the machine is fresh and not saddled with plug-ins. The system continues to drop about 1/10th of the characters typed into a Web browser textarea. This is very annoying indeed.

Keyboard update: I may have been unfairly maligning Microsoft (could it be our national sport?). I found a USB keyboard here in Kampala and plugged it into the laptop. No more dropped keystrokes. So perhaps the problem is simply with Toshiba’s hardware.

Power Management Update: I plugged in the laptop, but forgot to throw the little switch next to the mains outlet, so I was actually running on battery for a couple of hours. Windows Vista informed me that the battery was getting low by… snapping the machine off and throwing away all of my typing into a Weblog form. Unlike XP, which popped up “your battery is getting low; please plug in the power adaptor”, Vista just shut down instantly and without warning.

Full post, including comments