William's ascent

[caption id="attachment_285" align="alignleft" width="324" caption="William Kamkwamba on Good Morning America"]William Kamkwamba on Good Morning America[/caption]
All things are possible when your dreams are powered from the heart. -William Kamkwamba

William Kamkwamba, whom I first blogged about three years ago continues his amazing ascent. Where there was nothing but a drought laden field he built a tower of scrap wood, climbed it and built a windmill out of flatten plastic pipe and wire he wound himself. He climbed the stage at TED and has inspired thousands. As an adult, he went back to school and climbed the learning curve of academia despite a rudimentary village education. This morning he was beamed around the world as he was interviewed on Good Morning America. His book, The Boy Who Harnessed the Wind comes out tomorrow, when he will begin to climb the best sellers lists. I can't wait to read it. I am even part of it! I am mentioned five times according to Amazon's Search Inside. How cool is this:

One of Soyapi's bosses, a tall American named Mike McKay, liked the article about my windmill so much that he wrote about me on his blog, Hacktivate.

Thanks for mentioning me William - and congratulations!!!

Computer Hardware for Electronic Medical Records in Developing Countries


Bringing technology into health clinics can benefit healthcare workers, patients and public health workers with improved decision making support and better quality data. While there are many benefits offered by a successful system, there are many challenges in creating and sustaining a successful implementation. This document will discuss the problems of electricity, viruses, repurposing of equipment, theft and will also discuss solutions for these problems.


Even in developed countries electricity is unreliable. Equipment wears out, the infrastructure is overburdened, lightning strikes, people forget to pay their electricity bill. In developing countries like the Philippines, particularly in rural environments, the problems are amplified. Instead of power outages occurring just a few times a year and lasting 5-10 minutes, developing countries experience monthly or weekly power cuts lasting for hours at a time. The approaches used by developed countries for handling their relatively short, infrequent power cuts work are optimized for their situation, and are hence a poor fit for developing countries. UPSs are the standard solution for desktop computers in developing countries. Their components are designed for infrequent use and are optimized for delivering 15-30 minutes worth of electricity at the power level a desktop computer requires. When these UPSs are deployed in developing countries they are unable to sustain equipment through the multi-hour power cuts and they tend to wear out very quickly due to the high frequency of use that they receive. Developing countries require a reliable power solution that is better aligned with their realities.


Viruses are a major problem for Microsoft Windows users, which are the majority of computer users. While recent Microsoft products have improved their security models, all users of Windows are strongly recommended to use antivirus software. But for antivirus software to be effective it must be constantly updated in order to avoid being infected by the new viruses and attacks that appear daily. Because virus updates usually cost money, and require reliable internet connections, updates are often forgotten. This problem is particularly serious in developing countries. Even if money is available for updates, a reliable internet connection is often not available, so antivirus systems are often out of date.

Some virus infection techniques are also particularly effective in developing countries. Because few people have their own computer and even fewer have access to the internet, USB flash disks are used heavily. People carry their personal data on their flash disks, and then plug them into computers that are shared - either at work, an internet cafe or at friends' houses. As these disks move from computer to computer they become infected and end up attacking every computer that they are used on (which often have no or an old antivirus program). This combination of out of date virus software and heavy use of USB flash disks means that computer viruses are rampant in developing countries. Pirated movies and software which are also widely used and distributed in developing countries are another common virus spreading medium.


Computers are multi-functional devices. They can be used for writing reports, storing patient information, watching movies, looking up useful information and playing games. While it is great that a computer can do so much, it often means that a computer purchased for a specific project rarely stays dedicated to this project. In some cases, repurposing or multi-purposing a machine can improve the overall goals of a project. But when a machine that performs a critical function isn't available because it is being used for another purpose or is not functional due to a problem caused by another program that was installed then the project can be compromised. For a health clinic, if a computer is used for patient care and real-time recording of patient information then it is critical that the computer is always available and working reliably.


Finally, computers are easy targets for theft. They provide a lot of value in a small package. Whether an inside job or a simple break-in, a personal home or a workplace, the computers are often the first items to be stolen. Computers in rural, poverty stricken areas make for tempting targets.


These four problems: electricity, viruses, repurposing and theft, must be carefully considered for any kind of computer based system to be successful in a developing country. Now that the problems have been described, this document is going to explore solutions to these four problems.


Frequent multi hour power cuts require something other than UPSs. Developing countries often turn to diesel generators, which are poor choices because they require special maintenance and fuel. I saw a generator grind to a halt because no one changed the oil and I know that given the choice to keep fuel in the generator or to go rescue a sick patient with the ambulance, that the ambulance always wins. Even with a generator there will be a few second gap without electricity that will reboot all of the machines. How can we move beyond the generator paradigm?

The first and most important approach is to reduce the amount of electricity that is required for a computer to operate. Desktop computers tend to consume about 150-200 watts of electricity while they are being used. Laptop computers will consume only 10-30 watts of electricity. This means that for a laptop computer to operate it needs just a a fraction of the electricity that a desktop computer needs. Clearly laptops are a good choice when electricity is a scarce resource. The other reason that makes laptops a good choice for developing countries is that they come with an optimized battery back up system already built-in. Laptops are designed to handle frequent, multi-hour power interruptions and are hence a very good fit for the kind of situations found in developing countries. The combination of low power requirements and battery optimization means that modern laptops will run for 4-10 hours on battery power. Laptop cost has also dramatically fallen making them cost close to the same as a desktop computer. For roughly the same cost as a desktop and UPS a laptop can be purchased that will last more than 10 times longer. Electricity problem solved.


The virus problem can be mitigated by using a non-Windows operating system and or eliminating the paths of typical infection. Ubuntu Linux is a good alternative to Windows because it is based on a very mature and proven security model that stops many of the viruses that affect Windows systems. Specifically, most activities take place within a secured sandbox that requires a password to be bypassed. Hence, viruses have a very difficult time infecting any core system processes.

Open source software is less prone to viruses than the closed source alternatives. Closed source software is distributed without access to the underlying source code (hence "closed source"). Without access to the underlying source code it is impossible for the person using it to know how the software works. This hidden layer of execution is where viruses operate. Open source software reveals everything, there is no hidden layer for viruses. While having the ability to audit software doesn't guarantee its reliability, the collaborative approach used to develop it means that malicious code rarely finds its way into open source software. Ubuntu Linux is an open source operating system and all of the additional software that most people use (like web browsers, email clients and word processors) is also open source. Practically, this means that Ubuntu Linux users have very little chance of being infected by a virus.

The other approach that can be useful is to disable flash disks, as these are the primary infection path for computers in developing countries. Of course being able to use USB disks to transfer information is an important feature, especially in developing countries, so the benefits must be weighed against the costs. There are currently no known viruses that infect Ubuntu Linux via USB disks.


For mission critical computer operations like the delivery of patient care, computers should be made single purpose. They should be configured so that the only function that they can perform is the function that they were purchased for. This "appliance model of computing" follows the same strategy behind household appliances like a toaster, which are dedicated to reliably performing a single task. When an appliance computer is turned on, it should immediately launch the software required for the application. The software should take up the entire screen, and the user should not be able to close the application or access a menu to launch a different application. This sort of approach will ensure that the computer is always available for the task it was purchased for. Because other programs can not be accessed or installed it means that there is no chance of the system becoming corrupted and usable because of some problem caused by another problem. This also greatly reduces the likelihood of virus infection.


Theft can be avoided by making the computers harder to physically steal, and also less desirable to steal. Physical security like strong doors/locks is obvious. Using cable locks is another important approach, although these can easily be cut by dedicated thieves. Alarmed cable locks are even better. Physically bolting machines (laptops/desktops) to desks is another good and simple strategy if you can find a good way to attach the bolt to the machine. Making a machine less desirable for theft is also a good approach. An appliance computer that is unable to play games, access the internet or a word processor is going to be less desirable for a thief who knows about the machine. Appliance computers can even be configured to operate without a hard drive, so that they will only turn on when they are in the clinic. This approach is called "net booting" and is a good strategy for reducing desirability (and also reducing system complexity as all systems will use the exact same software).