Entries for February 2007
Wednesday, February 21, 2007
Microfinance in Rajasthan
Akshay Mahajan tells a story of microfinance in Rajasthan, with pictures:
The group of women from the Mevat District in neighboring Haryana have driven all the way to Akbarpur to learn how to form a self help group of their own from the women at Akbarpura. For the next hour or so they had a long discussion on the mechanics of microfinancing, on how money should be saved, how loans should be dispensed, how to deal with defaulters etc. I felt I might has well have been in an office conference room in Bombay listening to suit clad MBAs rather than in village in rural rajastan in the company of very smart women in their colourful salwars.
…
Microcredit—lending small sums to poor people to set up or expand small businesses—is an effective way to alleviate poverty. The poor cannot usually borrow from commercial banks, because they lack collateral. Loan sharks lend without security, but often at interest rates of 10-20% a day. Small time retailers who borrow from money lenders to buy a day’s stock often have to hand over most of their profits. Failure to repay can result in broken legs.
Monday, February 19, 2007
Praise and flaws
Po Bronson in New York Magazine on The Inverse Power of Praise:
By and large, the literature on praise shows that it can be effective—a positive, motivating force. In one study, University of Notre Dame researchers tested praise’s efficacy on a losing college hockey team. The experiment worked: The team got into the playoffs. But all praise is not equal—and, as Dweck demonstrated, the effects of praise can vary significantly depending on the praise given. To be effective, researchers have found, praise needs to be specific. (The hockey players were specifically complimented on the number of times they checked an opponent.)
Sincerity of praise is also crucial. Just as we can sniff out the true meaning of a backhanded compliment or a disingenuous apology, children, too, scrutinize praise for hidden agendas. Only young children—under the age of 7—take praise at face value: Older children are just as suspicious of it as adults.
Psychologist Wulf-Uwe Meyer, a pioneer in the field, conducted a series of studies where children watched other students receive praise. According to Meyer’s findings, by the age of 12, children believe that earning praise from a teacher is not a sign you did well—it’s actually a sign you lack ability and the teacher thinks you need extra encouragement. And teens, Meyer found, discounted praise to such an extent that they believed it’s a teacher’s criticism—not praise at all—that really conveys a positive belief in a student’s aptitude.
In the opinion of cognitive scientist Daniel T. Willingham, a teacher who praises a child may be unwittingly sending the message that the student reached the limit of his innate ability, while a teacher who criticizes a pupil conveys the message that he can improve his performance even further.
Bronson doesn’t make a case for having flaws pointed out, just that praise ought to be specific, not generic. To clarify my point: you should allow your non-critical weaknesses be visible to others, not necessarily draw attention to their existence in another.
Financing the micro: a journey and many lessons
In March 2006, I visited the Mann Deshi Mahila Sahakari Bank in the village of Mhaswad, Satara district, Maharashtra. I spent two and a half days there learning about microfinance, rural deployment of technology, Mann Deshi’s operations, and of Chetna Gala Sinha, the bank’s founder.
Read Discovering Microfinance » (4000 words)
Saturday, February 17, 2007
On being flawed
Robert Goffee and Gareth Jones in Harvard Business Review on Why Should Anyone Be Led by You? (emphasis mine):
We’ve yet to hear advice that tells the whole truth about leadership. Yes, everyone agrees that leaders need vision, energy, authority, and strategic direction. That goes without saying. But we've discovered that inspirational leaders also share four unexpected qualities: discovered that inspirational leaders also share four unexpected qualities:
- They selectively show their weaknesses. By exposing some vulnerability, they reveal their approachability and humanity.
- They rely heavily on intuition to gauge the appropriate timing and course of their actions. Their ability to collect and interpret soft data helps them know just when and how to act.
- They manage employees with something we call tough empathy. Inspirational leaders empathize passionately—and realistically—with people, and they care intensely about the work employees do.
- They reveal their differences. They capitalize on what’s unique about themselves.
That first one there is a rocker. I remember a couple of years ago when I realised I trusted people better if they didn’t come off as perfect, if they made visible some shortcoming in their personality while neither glorifying nor denying it. I remember being so excited that I mailed people about how I appreciated their flaws (to their discomfiture and my sheepishness). I wrote:
We live in an age where little is taken at face value. Marketeers go all out painting their brand in the best possible light. If you listen to them, you’ll think the brand is the embodiment of perfection. In fact, you can’t help but hear them because their messages are all pervasive. You don’t need another critic singing praises that you’ve already heard.
When I go look for reviews of something, I always read the negative reviews first. They’re sometimes meaningless, like someone complaining that he wanted a smartphone that behaved like his old PDA, but this one didn’t and is therefore crap, but usually the negative reviews bring you the frustrations of real users trying to make real use of products they paid for, and that may affect you too; not of reviewers singing praises to gizmos they’re not going to be using a week later anyway. When you counter hype with criticism, you’re able to form an understanding of whether the brand actually makes sense to you.
Negative reviews bring the brand down from lofty hype to credible reality. And what applies to gizmo brands applies to people brands too.
In the months since, I’ve increasingly become convinced that having one’s weaknesses as public knowledge is good for credibility.
Thursday, February 15, 2007
Generating combinations in Python
I recently wrote some code that required iterating through all combinations of a list of lists. I couldn’t find an existing function to do this, so wrote one:
def listcombinations(listoflists, curlist=[], parents=[]): """ Generator that yields all possible combinations from a list of lists. >>> a = [[1, 2], [3, 4], [5, 6], [7, 8]] >>> for c in listcombinations(a): print c ... [1, 3, 5, 7] [1, 3, 5, 8] [1, 3, 6, 7] [1, 3, 6, 8] [1, 4, 5, 7] [1, 4, 5, 8] [1, 4, 6, 7] [1, 4, 6, 8] [2, 3, 5, 7] [2, 3, 5, 8] [2, 3, 6, 7] [2, 3, 6, 8] [2, 4, 5, 7] [2, 4, 5, 8] [2, 4, 6, 7] [2, 4, 6, 8] """ if curlist == []: curlist = listoflists[0] remlist = listoflists[1:] else: remlist = listoflists for item in curlist: if len(remlist) > 0: for c in listcombinations(remlist[1:], remlist[0], parents+[item]): yield c else: yield parents+[item]
In the code above, the function returns combinations in a sequence such that each consecutive combination differs by only one item. My use case required consecutive combinations to be as unlike each other as possible. After mulling over it a bit, I figured I’d just randomise the entire set. This presented a new problem. On a production run, it turned out my list of lists summed up to over three million combinations. I only needed about ten and, neither picking the first ten nor generating the full list and picking a random ten was feasible: insufficiently distinct or took too long, respectively.
The solution? A lazy list instead of a generator:
class Combinations: """ Holds all possible combinations of a given list of lists. Behaves like a lazy list. >>> a = [[1, 2], [3, 4], [5, 6], [7, 8]] >>> for c in Combinations(a): print c ... [1, 3, 5, 7] [2, 3, 5, 7] [1, 4, 5, 7] [2, 4, 5, 7] [1, 3, 6, 7] [2, 3, 6, 7] [1, 4, 6, 7] [2, 4, 6, 7] [1, 3, 5, 8] [2, 3, 5, 8] [1, 4, 5, 8] [2, 4, 5, 8] [1, 3, 6, 8] [2, 3, 6, 8] [1, 4, 6, 8] [2, 4, 6, 8] >>> print Combinations(a)[12] [1, 3, 6, 8] """ def _product(self, sequence): "Returns product of items in sequence." if not sequence: return 0 return reduce(lambda x,y: x*y, sequence) def __init__(self, listoflists): self.length = self._product([len(col) for col in listoflists]) self.listoflists = listoflists def __len__(self): return self.length def __getitem__(self, index): if index >= self.length: raise IndexError, "Index out of range." r = [] p = 1 for col in range(len(self.listoflists)): i = int(index/p) % len(self.listoflists[col]) r.append(self.listoflists[col][i]) p *= len(self.listoflists[col]) return r
Here’s the code packaged as a Python module.
Monday, February 12, 2007
Kiva revisited
I made my second loan at Kiva today. I’ve been lax. Despite having promised to loan once each month, I missed January. I can attribute this in part to having been far too busy, but there’s something to be said about the Kiva experience too.
First, Kiva’s US non-profit status means nothing here in India. I don’t get tax breaks for the money I send them. While this isn’t such a deterrent given these are fairly small sums, it does add to the overall costs.
Second, money loaned via Kiva stays within the system. I don’t get anything back. Even if Kiva had (has?) a means to pull out money, the pain of getting PayPal funds converted into Indian rupees is not worth the bother. The way it effectively works, therefore, is that I donate the entire loan amount to Kiva and they in turn loan it to whoever I nominate. No tax breaks on this donation either.
Third, when I visited the site today, I was pleasantly surprised to learn that my previous beneficiary was already repaying his loan. I wish I had better insight into his progress. The only entry in his journal was when he received the money. If anything, it would have encouraged me to come back earlier.
When looking for another business to loan to, I found I couldn’t tell them apart. Row after row of picture, description and loan status. Who do I loan to? How do I tell who is more deserving? I might as well have rolled dice and picked the corresponding row. I can’t imagine what Kiva could do to make this better apart from signing up with partners in geographic areas I’m more familiar with, like India or Southeast Asia. Places where I could visit the businesses in person to learn more.
Maybe one way is to help the businesses or at least their funding partners have a better web presence? The current picture plus description plus stats page is rather limited. Having had some exposure to microfinance in India, I’m aware that what appears to be a small amount can have a significant impact on the beneficiary’s business. I’m also aware that conveying this story to an external benefactor on a per-case basis is not always feasible, and yet, being presented these stories would greatly increase their propensity to continue participating despite the limited returns.
I’m going to keep with the loaning for another few months to see how this goes.
Saturday, February 3, 2007
jQuery
jQuery is a new type of Javascript library that looks like it’ll have me doing some real Javascript programming within this lifetime. Under 20kB compressed, your choice of MIT or GPL license. What does the code look like? From their site:
$("p.surprise").addClass("ohmy").show("slow");
Sweet!


