
My name is Joseph , a Member of Parliament in Kenya . And picture a Masai village . And one evening , government soldiers come , surround the village , and ask each elder to bring one boy to school . That 's how I went to school -- pretty much a government guy pointing a gun , and told my father , " You have to make a choice . " So I walked very comfortably to this missionary school , that was run by an American missionary , and the first thing the American missionary gave me was a candy . I had never in my life ever tasted candy . So I said to myself , with all these hundred other boys , this is where I belong . Stayed -- ( Laughter ) -- when everybody else was dropping out . My family moved . We 're nomads . Every time school closed -- it was a boarding school , and I was seven -- you had to travel until you find them . 50 miles , 40 miles , it does n't matter . You slept in the bush , but you kept going . And I stayed . I do n't know why I stayed , but I stayed . And all of a sudden , I passed the national examination , found myself in a very beautiful high school in Kenya . And I finished high school . And just walking , and found a man who gave me a full scholarship to the United States . My mother still lives in a cow-dung hut , none of my brothers are going to school and this man told me , " Here , go . " So I got a scholarship to St. Lawrence University , upstate New York . Finished that , and then after that I went to Harvard Graduate School . Finished that , and then I worked in DC a little bit . I wrote a book for National Geographic , and taught history , US history . And every time I kept going back home , listening to the problems of these people , sick people , people with no water , all the stuff . And every time I go back to America , I kept thinking about them . Then one day , an elder gave me a story , and this story went like this . Long time ago , there was a big war between tribes . And there was this specific tribe that was really afraid of this other Luhya tribe . And every time , they sent scouts out there to make sure no one attacked them . So one day , the scouts came running , and told the villagers , " The enemies are coming , only half an hour away -- they 'll be here . " So people scrambled , took their things and ready to go , move out . But there were two men , one man was blind , one man had no legs -- he was born like that . The leader of the chiefs said , " No , sorry , we ca n't take you , you 'll slow us down . We have to flee our women and children , we have to run . " And they were left behind , waiting to die . But these two people worked something out . The blind man said , " Look , I 'm a very strong man , but I ca n't see . " The man with no legs says , " I can see as far as the end of the world , but I ca n't save myself from a cat , or whatever , animals . " So the blind man went down on his knees , down like this , and told the man with no legs to go over his back , and stood up . The man on top can see , the blind man can walk . And these guys took off , followed the footsteps of the villagers , until they found and passed them . So this was told to me in a set-up of elders . And it 's a really poor area , I represent Northern Kenya -- most nomadic , remote areas you can even find . And that man told me , " So , here you are , you 've got a good education from America , you have a good life in America , what are you going to do for us ? We want you to be our eyes , we 'll give you the legs . We 'll walk you , you lead us . " So the opportunity came , and I was always thinking about that , what can I do to help my people ? Every time you go to an area where for 43 years of independence , we still do n't have basic health facilities . A man has to be transported in a wheelbarrow to 20 , 30 kilometers for hospital . No clean drinking water . So I said , " I 'm going to dedicate myself , I 'm leaving America . I 'm going to run for office . " So last July -- I moved from America in June , ran in July election and won . And I came for them , and that 's my goal . And right now , I have in place for the last nine months a plan that in five years , every nomad will have clean drinking water . We 're building dispensaries across that constituency . I 'm asking my friends from America to help with bringing nurses or doctors to help us out . I 'm trying to improve infrastructure . I 'm using the knowledge I received from the United States and from my community to move them forward . I 'm trying to develop homegrown solutions to our issues . Because we know , we realize that people outside can come and help us , but if we do n't help ourselves , there 's nothing we can do . So my plan right now , as I continue with introducing students to different fields -- some become doctors , some lawyers -- we want to produce a comprehensive group of people , students , who can come back and help us see a community grow that is in the middle of a huge economic recession . So as I continue to be a Member of Parliament , and as I continue listening to all of you talking about botany , talking about health , talking about democracy , talking about new inventions , I 'm hoping that one day , in my own little community -- which is 26,000 square kilometers , maybe five times the size of Rhode Island , with no roads -- we 'll be able to become a model to help others develop . Thank you very much . 