What farmers in Togo have in common with informaticists in the US

A Togolese farmer shucks corn by hand after harvesting.
A Togolese farmer shucks corn by hand after harvesting

“All of [the] ways in which the poor cope with risk tend to be very costly. This has been well documented for argiculture: In India, poor farmers use farm inputs in a more conservative but less efficient way when they live in areas where rainfall is more erratic.”Banerjee 143.

It’s interesting how often you find an inverse relationship between efficiency and fault tolerance. Information theory has long had formulas for determining how resistant a particular communication protocol is to incomplete transmission, and how efficiency is necessarily reduced when you increase fault tolerance.

TCP is a good example—for those of you who don’t regularly read about the inner workings of the interweb (i.e. those of you who have lives), TCP is one of the core protocols for the Internet. It’s the set of rules and regulations that govern how one computer ought to exchange information with another. If you’re curious to know what it stands for (which I know you’re not—either you already know what it stands for or you don’t care, but I’m going to tell you anyway), it’s Transfer Control Protocol.

The Internet is a network created out of whatever computers happen to be connected to it; thus, it’s a network whose connections are constantly changing. As new computers, servers, and routers are turned on and off, the virtual path between your computer and the server from which it received this very blog post may not be the same now as when you first viewed this page.

As your computer begins to receive the data that makes up this page (sent in discreet units called “packets”), it’s conceivable that the pathway from your computer and my server will disappear, and your computer will only receive some of the packets, or even partial packets.

Thankfully, TCP is designed to handle contingencies like this. Each packet has a sequence number, to identify where it lies in the sequence of packets. It also includes a mathematical check, known as a checksum, which allows the receiving computer to check if the packet contains all the data it was originally sent with. If packets aren’t properly received on your computer, it will request that those specific packets be resent until a complete copy of the message is received.

While all this ensures that you, at this moment, have a reasonable guarantee that you got all of my blog post, it incurs a cost. The first, and for all practical purposes the least noticeable, is the data overhead. What you’re getting isn’t just the data that’s in my blog post. It’s also the sequence numbers, the checksums, the signals to retransmit lost packets or that packets were received correctly. That is, the messaging protocol, by being more robust, more tolerant of bad things happening, becomes by necessity less efficient. You have to transmit lots of other stuff in addition to the actual message. So, to transmit 30 kib of data, you might in effect have to actually transmit 35 kib once all is said and done.

The second is latency. TCP was designed to transmit data reliably and (relatively) error-free, even over mucky, ever-changing networks like the Internet. But the cost is that it may not do so in real-time. Every time a packet is lost, TCP requires that your computer re-request the packet and wait for it before continuing on with new ones. While this is fine for documents, it’s not so good for transmitting voice or video. If I’m talking to you over Skype, and some packets get lost, I’d prefer that our computers prioritize keeping our conversation in sync, rather than me hearing every split-second of audio. That is, it’s ok if a few milliseconds of audio get “dropped” if it means that we both hear what each other is saying within a few moments of saying it.

Thus, for time-sensitive applications like voice or video, there are other protocols (like UDP) which aren’t as reliable in terms of perfect data transmission, but can transmit data faster. That is, they’re less fault tolerant, but more efficient.

So, coming back to farmers and the poor. Poor farmers, because they can’t afford any loss—any one loss is a much higher relative loss when you don’t have much to begin with—can’t take risks that may offer them a way out of being poor:

“For example, they may know that a new and more productive variety of their main crop is available but choose not to adopt it. One advantage of sticking to the traditional technology is that farmers don’t need to buy new seeds—they just save enough seed from last season’s crop to replant—whereas the new seeds often cost a significant amount of money. Even if the new seeds repay the investment many times over when things go well, there is always a small chance that the crop will fail (say, because the rains don’t arrive) and the farmer will lose the extra investment he has made in new seed.”Banerjee 142

If you’re poor, you can’t afford to risk what you have. Nor can you afford to reduce your risk (by, say, investing in irrigation to reduce the reliance on rainfall). It forces you into a situation where, in order to maximize your chances for survival, you have to spread your “investments” and activities out in inefficient but more fault tolerant manners.

For farmers, this might mean having several small plots scattered across town; if blight strikes one area, another plot might remain unaffected. Another, for workers in general, is to have lots of different jobs. Even if you’re primarily a farmer, it’s very unlikely that’s all you do. This was a very common sight to see in Togo—people who did carpentry, sold various goods in a boutique, and also had a farm.

By not relying on any one craft or market to have some income, it buffers you from economic and climate shocks. But it also means you can’t ever become efficient at any one thing—you can’t get really good at something because you can’t put in the time and investment required to do so. If all you did was farm and you could invest in what you did—capital investments like irrigation and new seeds, as well as knowledge investments like learning better land-use practices—you could increase your wealth year by year.

But the cost of being poor is that the safest bet for you and your family is to do things in an inefficient manner. I.e. not risking your time and money on things that may give you a higher return. And thus being poor keeps your poor, because you can never take the risks necessary to increase wealth.

I wasn’t really sure where I was going with this blog post when I started, but I’ve now reached the end and realized it’s kind of a downer. I’ve described a poverty trap… and so you’re probably asking yourself, How does one get out of this situation? or, better yet, How do I help? And, honestly, I have no idea. I guess that’s the challenge of development.