I have had a thoroughly unproductive morning - I suppose to balance out my productive weekend. However, you cannot be productive all the time, because it is in those moments of unproductivity that provide the well springs of productivity.
I am about to break for lunch and will perhaps go to the market near the UNICEF building. It is a series of thatched stalls serving local delicaies that Sima and intestines, and of course sim cards. Down the street, there are about 300 worshippers dressed in white - a Christian sect I believe. They have been camping out in an open field for the past 3 weeks, and apparently will be staying another week. I wonder what the occasion is? I figure I could move to the hotel close by - the Sanctuary Lodge - and then walk to the office.It would take me about 15 minutes. I may actually do that.
I spent the weekend shoring up my datamodels, building the basic front end template system and building fixtures. I also joined the local IT listserv and I have already met developers in Blantyre doing SMS development. Will SMS work become obsolete once Africa gets wide GPRS penetration?
This morning I am praising the joy of fixtures.
There are all sorts of methodologies in place in order to control the quality of software. The intention is good. Something like 80% of all software projects fail (this may be an outdated number). I've seen pair programming, extreme programming, agile, object oriented design is supposedly a methodology, then you have aspect oriented design - and the list goes on .
Design patterns are good (Object oriented design for example). The main goal is to provide reusable chunks of code. So like - oh you figured out how to print something - good. I'll use that code in my application for the printing functionality. Design Patterns however also provide a a meta language with which to understand software in general. I write software in at least 5 languages at a given time, to say - oh this piece of code is decorator, or oh this is a singleton - is analogous to saying oh this is a noun, or this is in the subjunctive. It gives me a framework for cross-language comparision. It is a software grammar.
For quality control people are very excited about Unit Testing. Basically with Unit Tests you are writing bits of code that attempt to simulate how someone will use (or misuse a software ). Unit tests are for the smallest atomic element of your software project. For each atom, you write a unit test. The thing is, the person writing the unit test is not really the user. You will never anticipate the real world issues that crop up by writing a unit test.
I am a big believer in fixtures however (a part of unit test methodology). This is why I spent a few hours this weekend writing them. Fixtures are data that essentially 'Fix' your system at a certain state, so that you, or another user, can actually use and test the system. Essentially it is dummy data. The good thing about fixtures is that you see quickly if there are problems with your data model, and with the interactions between your datamodel. Sure there might be something wrong with a functional piece of your code - (ie you may want the maximum height for something but you are actually getting the minimum height). However, this will reveal itself in testing and iterative design. You cannot iterate if you have no data, and if you data models are buggy.
Software quality control is a thorny issue. Software is only as good as the programmer, and the way to become a good programmer is to be naturally talented or to find a good mentor, or to read good code (and perhaps contribute to an open source project), and of course to write code - in a variety of languages.
So this morning, while enjoying my Kiboko breakfast of eggs, fruit salad and tea (I have quit coffee!) I read a poem 'Stepping Westward' by Denise Levertov. When I first read it, I thought it was written by a man. I thought it was absolutely ghastly! Just a terrible poem. (I's about being woman / among other things). But when I went back and reread the poem, after discovering the poet was a woman, I absolutely fell in love with the poem. I often experience the same thing when watching one of my films with different audiences. Some audience make you love your film, and some make you want to go out and play in traffic - what is in the work and what is in your mind?
Some links of interest:
AfNog - african network operators group
Maker Faire Africa
Nubian Cheetah
Dream Manufactory
White African post on SMS vs GPRS in Africa
Monday, August 31, 2009
Sunday, August 30, 2009
Lilongwe Holiday
I have run across some linkings (mainly through other people's twitter) and I though i'd put them up:
- Malawi school girl studying at US prep school for the Summer
- Zinc combating diarrea in Africa
- Sex workers in Swaziland (sex work is legal in Malawi and currently there is a legislation attempting to criminalize HIV transmission - something for a future blog post)
- Git articles (I’ve been using this a lot to keep my code in sync)
I took another look at the original specifications for the RapidSMS/Malawi Health project as spec’d out by the SIPA students (aka Mobile Development Solutions). So now I have a good idea of the SMS protocol I need to use, and the UI look and feel. It also gave me data for stunting and wasting metrics - so I added that to my data models and I’m creating fixtures for those pieces of data. I am upgrading my jsonmedusa script because I see future deployments of RapidSMS will involve lots of data munging.
Right now, with the nutrition app as it stands (on the shoulders of giants by the way), I think RapidSMS could deploy a basic malnutrition alert and monitoring system ANYWHERE IN THE WORLD. I would like to do this somewhere in China, mainly because I am desperately craving Sha lum Bao/Soup dumplings (apologies for the non Pinyin transliteration).
Last night I went to a new night spot in the outskirts of lilongwe - ‘Sol Farm.’ We then drove back via the posh neighborhoods of lilongwe - enormous homes/beautiful. I took some pictures. So much of this trip cannot be captured on film (or sd card): the smells, the feel of the sun and the dust, the song of the birds and the call to prayer at 5:30 in the morning. I tried to record the call to prayer last week - but it sounded rather crappy. I may go out and play pool at ‘The Diplomat’ tonight, a bar with a modest amount of sex workers. I am feeling out of sorts so I may just stay in work, read a book, and watch one of the films I have on my hard drive. I did some meditation in the late afternoon, and then I fell asleep. It is sometimes hard for me to stay awake during meditation.
Can lists be poetry?
"We make out of the quarrel with others, rhetoric, but of the quarrel with ourselves, poetry." William Butler Yeats
I have finished the totally awful Globalization anthology - I think I may leave it in the hotel library, but then I feel that is unfair to future people who might pick it up. Many of the essays in Globalization brought up really interesting topics, but then became mired down in jargon and academic ass kissing. To cleanse my palate I picked up my copy of Mayes poetry handbook. A fantastic book that I usually travel with it. I always try to memorize poetry, so that when my mind starts to wander to negative thoughts I can have something beautiful (like a mantra) to focus my mind. Poetry reminds me of drawing, it involves intense focus on something and the recreation of that thing in your own likeness (to be biblical) but really - this is what lets the experience become integrated into your person.javascript:void(0)
It is weird - this time last year I was living in Hong Kong. Hong Kong was way more lonely than Lilongwe although there was more to do and the food was better (and my accommodations were nicer). I never feel alone in Lilongwe - although I do feel like I am at the ends of the earth lost in another time.
- Malawi school girl studying at US prep school for the Summer
- Zinc combating diarrea in Africa
- Sex workers in Swaziland (sex work is legal in Malawi and currently there is a legislation attempting to criminalize HIV transmission - something for a future blog post)
- Git articles (I’ve been using this a lot to keep my code in sync)
I took another look at the original specifications for the RapidSMS/Malawi Health project as spec’d out by the SIPA students (aka Mobile Development Solutions). So now I have a good idea of the SMS protocol I need to use, and the UI look and feel. It also gave me data for stunting and wasting metrics - so I added that to my data models and I’m creating fixtures for those pieces of data. I am upgrading my jsonmedusa script because I see future deployments of RapidSMS will involve lots of data munging.
Right now, with the nutrition app as it stands (on the shoulders of giants by the way), I think RapidSMS could deploy a basic malnutrition alert and monitoring system ANYWHERE IN THE WORLD. I would like to do this somewhere in China, mainly because I am desperately craving Sha lum Bao/Soup dumplings (apologies for the non Pinyin transliteration).
Last night I went to a new night spot in the outskirts of lilongwe - ‘Sol Farm.’ We then drove back via the posh neighborhoods of lilongwe - enormous homes/beautiful. I took some pictures. So much of this trip cannot be captured on film (or sd card): the smells, the feel of the sun and the dust, the song of the birds and the call to prayer at 5:30 in the morning. I tried to record the call to prayer last week - but it sounded rather crappy. I may go out and play pool at ‘The Diplomat’ tonight, a bar with a modest amount of sex workers. I am feeling out of sorts so I may just stay in work, read a book, and watch one of the films I have on my hard drive. I did some meditation in the late afternoon, and then I fell asleep. It is sometimes hard for me to stay awake during meditation.
Can lists be poetry?
"We make out of the quarrel with others, rhetoric, but of the quarrel with ourselves, poetry." William Butler Yeats
I have finished the totally awful Globalization anthology - I think I may leave it in the hotel library, but then I feel that is unfair to future people who might pick it up. Many of the essays in Globalization brought up really interesting topics, but then became mired down in jargon and academic ass kissing. To cleanse my palate I picked up my copy of Mayes poetry handbook. A fantastic book that I usually travel with it. I always try to memorize poetry, so that when my mind starts to wander to negative thoughts I can have something beautiful (like a mantra) to focus my mind. Poetry reminds me of drawing, it involves intense focus on something and the recreation of that thing in your own likeness (to be biblical) but really - this is what lets the experience become integrated into your person.javascript:void(0)
It is weird - this time last year I was living in Hong Kong. Hong Kong was way more lonely than Lilongwe although there was more to do and the food was better (and my accommodations were nicer). I never feel alone in Lilongwe - although I do feel like I am at the ends of the earth lost in another time.
Friday, August 28, 2009
RapidSMS is AWESOME
Many things have changed since I last posted.
1) I have decided to change my nutrition architecture and reuse the location app and the reporter app for locations, reporters and patients. I need to make some minor tweeks to this code to accomidate patient type things like gender and date of birth - which really all people have. I am trying to use rapidSMS to the fullest of its RAD capabilities - what this means is that I am spending time writing scripts to translate csv backdata to json to import as data into the RapidSMS databases. This is probably going to be a typical use case for RapidSMS implementation - as little reinvention of the wheel as possible.
I strongly urge developers/interested parties who want to use RapidSMS to look at the locations app and the reporters app - they are really well architected. I am going ahead with my malwai health app - eventually I think it would be useful to have an indicators app similar to the locations/reporter paradigm. But for now, I am going to stick with my explicit/non flexible model- which will work.
2) I have stopped drinking coffee
3) I can now identify malaria carrying mosquitoes
4) I have totally destroyed my local git hub repository and need to regenerate a ssh key. This is leading to massive ssh key proliferation that I need to stamp out.
5) I am on a good UNICEF bus pickup/drop off schedule
We end at 1:30 on Fridays - at which point - I think I am going to go and eat pizza at mamma mia. It is SOO good - I am dreaming about it- but pricey (I had to dig into my stash of gnu bars yesterday to save up for it)
Last night there was no bar volleyball -very sad. Instead I took myself upto the Kiboko bar, which is completely deserted, sat infront of a roaring fire (it is cold here), had a beer (a green one as we call Carlsberg in Lilongwe) - and cracked open 'Globalization' - the anthology I am reading. I think this book was written in 99, and it is a bit dated, however some of the articles are excellent (like the memory article from a few posts back). Last night there were two standouts, a piece on the Chinese Artist Wang Jin and his work 'A Chinese Dream' by Wu Hung and 'Inside the Economoy of Appearances' by Anna Tsing.
So the first piece was basically an analysis of this piece of artwork - a replication of a traditional chinese opera costume recreated entirely in plastic. Of course the author gives treatment to the artist as capitalist/cosmopolitian producer (the piece is manufactured by old ladies in rural china),artist reappropriating traditional forms - that are realy ersatz. (Chinese opera these days is akin to Disney world). I really was touched aesthetically by Wang Jin's artwork and its different manifestations (as performance art, as photograph, etc). I though the article was excellent as an thorough investigation into all aspects of the work: production, consumption, reappropriation,etc.
Second article, ok this one was bit long. In 13Bit filmmaking we would say it needed a little choppy choppy (ie editing). However,this was really an incredibly fascinating article and I recommend it to anyone interested in Gold, mining, and the markets. Basically it follows the rise and fall of Bre-X, a Canadian mining company as it attempted to look for Gold in Indonesia. The article touches upon how the 'scientific-izatio' of the field (now we have geologists exploring rather than miners), makes in palatable to wall street. How there was this transformation of part of Indonesia into frontier land fit for explorers and fortune hunters (like the Brazilian Amazon). How antropological tropes have been mapped on to this capitalist venture. How Bre-X was able to pull a magnificent swindle on the stockmarket - and yet how people were still able to make money from stock speculation. It is truly a rich article that is told in a narrative and entertaining fashion- I will probably reread it.
Caveat Emptor - I know I am discussing this book - however I dont recommend purchasing it. The quality of the articles are really uneven and I would probably be better off reading Shakespeare. That being said, if you still want to read it, borrow it from your local library.
So after my thinking and reading - I settled down into my queensize bed covered with mosquito netting, and listened to the philosophybites podcast - the most awesome podcast evar! http://www.philosophybites.com (well its a toss up between that and coverville)
OOp - just got the rest of the location codes from the Malawi ministry of health! They are really on top of things. More csv to json - via my jsonmedusa.py script.
Next time I hope to be reporting on my RapidSMS Malawi version2 test.
TGIF!
1) I have decided to change my nutrition architecture and reuse the location app and the reporter app for locations, reporters and patients. I need to make some minor tweeks to this code to accomidate patient type things like gender and date of birth - which really all people have. I am trying to use rapidSMS to the fullest of its RAD capabilities - what this means is that I am spending time writing scripts to translate csv backdata to json to import as data into the RapidSMS databases. This is probably going to be a typical use case for RapidSMS implementation - as little reinvention of the wheel as possible.
I strongly urge developers/interested parties who want to use RapidSMS to look at the locations app and the reporters app - they are really well architected. I am going ahead with my malwai health app - eventually I think it would be useful to have an indicators app similar to the locations/reporter paradigm. But for now, I am going to stick with my explicit/non flexible model- which will work.
2) I have stopped drinking coffee
3) I can now identify malaria carrying mosquitoes
4) I have totally destroyed my local git hub repository and need to regenerate a ssh key. This is leading to massive ssh key proliferation that I need to stamp out.
5) I am on a good UNICEF bus pickup/drop off schedule
We end at 1:30 on Fridays - at which point - I think I am going to go and eat pizza at mamma mia. It is SOO good - I am dreaming about it- but pricey (I had to dig into my stash of gnu bars yesterday to save up for it)
Last night there was no bar volleyball -very sad. Instead I took myself upto the Kiboko bar, which is completely deserted, sat infront of a roaring fire (it is cold here), had a beer (a green one as we call Carlsberg in Lilongwe) - and cracked open 'Globalization' - the anthology I am reading. I think this book was written in 99, and it is a bit dated, however some of the articles are excellent (like the memory article from a few posts back). Last night there were two standouts, a piece on the Chinese Artist Wang Jin and his work 'A Chinese Dream' by Wu Hung and 'Inside the Economoy of Appearances' by Anna Tsing.
So the first piece was basically an analysis of this piece of artwork - a replication of a traditional chinese opera costume recreated entirely in plastic. Of course the author gives treatment to the artist as capitalist/cosmopolitian producer (the piece is manufactured by old ladies in rural china),artist reappropriating traditional forms - that are realy ersatz. (Chinese opera these days is akin to Disney world). I really was touched aesthetically by Wang Jin's artwork and its different manifestations (as performance art, as photograph, etc). I though the article was excellent as an thorough investigation into all aspects of the work: production, consumption, reappropriation,etc.
Second article, ok this one was bit long. In 13Bit filmmaking we would say it needed a little choppy choppy (ie editing). However,this was really an incredibly fascinating article and I recommend it to anyone interested in Gold, mining, and the markets. Basically it follows the rise and fall of Bre-X, a Canadian mining company as it attempted to look for Gold in Indonesia. The article touches upon how the 'scientific-izatio' of the field (now we have geologists exploring rather than miners), makes in palatable to wall street. How there was this transformation of part of Indonesia into frontier land fit for explorers and fortune hunters (like the Brazilian Amazon). How antropological tropes have been mapped on to this capitalist venture. How Bre-X was able to pull a magnificent swindle on the stockmarket - and yet how people were still able to make money from stock speculation. It is truly a rich article that is told in a narrative and entertaining fashion- I will probably reread it.
Caveat Emptor - I know I am discussing this book - however I dont recommend purchasing it. The quality of the articles are really uneven and I would probably be better off reading Shakespeare. That being said, if you still want to read it, borrow it from your local library.
So after my thinking and reading - I settled down into my queensize bed covered with mosquito netting, and listened to the philosophybites podcast - the most awesome podcast evar! http://www.philosophybites.com (well its a toss up between that and coverville)
OOp - just got the rest of the location codes from the Malawi ministry of health! They are really on top of things. More csv to json - via my jsonmedusa.py script.
Next time I hope to be reporting on my RapidSMS Malawi version2 test.
TGIF!
Thursday, August 27, 2009
In the code
Score 1 for UNICEF Malawi - they picked me up from the hotel this morning.
Sadly, I was unable to visit the internet cafe and sync with github. The internet cafe opens at 8 and the unicef car picked me up at 7:10.
Today was also my first day without coffee, I drank tea instead. The only coffee here is nescafe and i'm not so into it. If I am able to kick my coffee habit - then a true miracle will have occured. I am now grumpy with a bad headache. I guess its a good thing I am half way around the world from people I could seriously alienate.
Another milestone today (today is very momentus it seems) I got my 'Malawi Health' RapidSMS version up and running. Exciting Exciting. For the next few days I will be editing templates to improve data display andd data navigation.
There is a big discussion in the RapidSMS world over apps. Where in the repository should apps go, are there core apps, where should 3rd party apps go, should some of this move to a library, what about projects- are projects apps?
Well - I will leave that to the list to figure out.
What I did was create a MalawiHealth app. I've attempted to make it exensible for future Malawi Health projects.
Classes:
Models.py - this contains 3 classes. a GMC class (that represents a health center). I inheret adam's Location model (from the location app). Then we have a Patient, this should probably inheret from something. Finally I have a INFSSS model that includes 5 heath indicators (muac, height,weight, oedema,diarrea) and calculators for age and malnutrition. 82 lines of code. Apparently this was originally written with the reporter app, but I think it is perhaps a good idea to build out a datamodel for clarity.
App.py - Here is where I parse the sms message. It is very brute force. I intend to spend my last few weeks working on this, especially as I get feedback from the field. Basically, I implemented a tokenizer and a bunch of conditionals that add data and send responses. It is not pretty, but not THAT ugly - and fine for v1 (74 lines).
It seems that many things I have been thinking about have already been included in RapidSMS - isn't RapidSMS awesome! I am very keen on using the Keyword parser (an app) to improve my message parsing in the coming weeks.
I have a urls.py, views.py and templates - and this will take most of my time over the coming days. I almost forgot - my fixtures - creating fixtures right now in order to backpopulate the data with data from 2003. Got this 2 days ago from the Malawi Ministry of Health.
Some other apps I will be using are the excel exporting app (although I think this is tag library), and perpahs the ajax app, and of course the admin app (I already mentioned the locations app). I will probably add a document app (I need a better name). This will associate documents with a rapidSMS project - e.g., a sidebar of relavent & downloadable reports/powerpoint presentation etc). We are hoping to turn the Malawi INFSSS system into a one stop shop for all things INFSSS related - so I am trying to aggregate as much useful content as possible.
In this case, since I am bulding the Malawi INFSSS rapidsms system for a particular scenario, I am going to sacrifice some reusability. As I build more health systems, I will probably be able to build out a health app, but perhaps this is a future project for the 13Bit Labs.
Final note on the documentation system:
RapidSMS uses sphinx for documentation. We copied Django. Sphinx is really powerful and an awesome document management system. According to the Sphinx documentation, autogenerating code documentation was an afterthough and that is really apparent when you use the system. Yesterday I build a directory walker that generates a rst file with the classes availabe explicitly stated. Perhaps when RapidSMS is done - I can take a look at the Sphinx code base.
I have been a hermit the last 2 nights. Staying in my room/internet cafe writing code and watching Kung Fu. Tonight though I will go and hang with some of my new friends, maybe we can play bar volleyball again!
I will try not to use demorgans law to reduce all my conditionals to booleans inorder to assign them to variables
Sadly, I was unable to visit the internet cafe and sync with github. The internet cafe opens at 8 and the unicef car picked me up at 7:10.
Today was also my first day without coffee, I drank tea instead. The only coffee here is nescafe and i'm not so into it. If I am able to kick my coffee habit - then a true miracle will have occured. I am now grumpy with a bad headache. I guess its a good thing I am half way around the world from people I could seriously alienate.
Another milestone today (today is very momentus it seems) I got my 'Malawi Health' RapidSMS version up and running. Exciting Exciting. For the next few days I will be editing templates to improve data display andd data navigation.
There is a big discussion in the RapidSMS world over apps. Where in the repository should apps go, are there core apps, where should 3rd party apps go, should some of this move to a library, what about projects- are projects apps?
Well - I will leave that to the list to figure out.
What I did was create a MalawiHealth app. I've attempted to make it exensible for future Malawi Health projects.
Classes:
Models.py - this contains 3 classes. a GMC class (that represents a health center). I inheret adam's Location model (from the location app). Then we have a Patient, this should probably inheret from something. Finally I have a INFSSS model that includes 5 heath indicators (muac, height,weight, oedema,diarrea) and calculators for age and malnutrition. 82 lines of code. Apparently this was originally written with the reporter app, but I think it is perhaps a good idea to build out a datamodel for clarity.
App.py - Here is where I parse the sms message. It is very brute force. I intend to spend my last few weeks working on this, especially as I get feedback from the field. Basically, I implemented a tokenizer and a bunch of conditionals that add data and send responses. It is not pretty, but not THAT ugly - and fine for v1 (74 lines).
It seems that many things I have been thinking about have already been included in RapidSMS - isn't RapidSMS awesome! I am very keen on using the Keyword parser (an app) to improve my message parsing in the coming weeks.
I have a urls.py, views.py and templates - and this will take most of my time over the coming days. I almost forgot - my fixtures - creating fixtures right now in order to backpopulate the data with data from 2003. Got this 2 days ago from the Malawi Ministry of Health.
Some other apps I will be using are the excel exporting app (although I think this is tag library), and perpahs the ajax app, and of course the admin app (I already mentioned the locations app). I will probably add a document app (I need a better name). This will associate documents with a rapidSMS project - e.g., a sidebar of relavent & downloadable reports/powerpoint presentation etc). We are hoping to turn the Malawi INFSSS system into a one stop shop for all things INFSSS related - so I am trying to aggregate as much useful content as possible.
In this case, since I am bulding the Malawi INFSSS rapidsms system for a particular scenario, I am going to sacrifice some reusability. As I build more health systems, I will probably be able to build out a health app, but perhaps this is a future project for the 13Bit Labs.
Final note on the documentation system:
RapidSMS uses sphinx for documentation. We copied Django. Sphinx is really powerful and an awesome document management system. According to the Sphinx documentation, autogenerating code documentation was an afterthough and that is really apparent when you use the system. Yesterday I build a directory walker that generates a rst file with the classes availabe explicitly stated. Perhaps when RapidSMS is done - I can take a look at the Sphinx code base.
I have been a hermit the last 2 nights. Staying in my room/internet cafe writing code and watching Kung Fu. Tonight though I will go and hang with some of my new friends, maybe we can play bar volleyball again!
I will try not to use demorgans law to reduce all my conditionals to booleans inorder to assign them to variables
Wednesday, August 26, 2009
Turn your computer into an SMS gateway
At about 8:30 I gave up on the UNICEF shuttle and decided today would be SMS gateway hacking day, along with RapidSMS programming day.
Tomorrow - I plan on taking a cab (thanks Chris).
Last week, during a RapidSMS demo, the AC adapter for my GSM modem blew out. Thankfully this is my only electrical malfunction in Africa to date (although I do lose electricity now and again).
What is a girl to do with RapidSMS but alas no modem with which to receive and send the SMS messages.? I figured that I would go look for a soldering iron and solder the AC adapter tip to an extra power supply. Perhaps think of some clever way to integrate it with my iGo power kit....
I did see some dodgy multi-tipped power adapters at the local market (see pictures), but they **really* looked dodgy. Would I be able to find a soldering iron in time?
This morning, I went over to the cellphone shop across the street and asked about his usb enabled phones. Amazingly, he had a wire that connects my crappy loaner Nokia 1110 to usb. I bought the wire - went back to my System76 ubuntu netbook - plugged the sucker in and guess what I see on my /dev. ttyUSB0 - Halleluja. Fantastic.
To celebrate I took myself to lunch over at mama mia and ate an entire margarita pizza - that was divine - and half a coke - there I banged out some emails, wrote some docs, and started work on the new INFSSS rapidSMS system.
I am creating two apps - a Malawi app and a INFSSS app
the Malawi app will hopefully be reusable with the Mother/Child HIV/AIDs Project.
First I am creating the data models:
patent ids, and HSA ids (finally got the IDs that the ministry of health uses) for Malawi app
muac, height, weight etc for INFSSS app
next I'm loading in the historical data - will be doing that in a bit - I just finished cleaning/rationalizing it.
then I am going to start working on the views.
I have some time to get the message parsing to work - since I am not going into the field for another week - However I want to get the web interface finished asap - so people can start navigating the data and feel good about the project.
In terms of messaging. I am thinking about building an app that uses regular expressions and callbacks - similar to Urls.py. There should be an elegant way that RapidSMS handles sms parsing. Another consideration is message flow. I remember back i the internet stone age, when I was programming in Java, and Tomcat did not exist and I had to use servlet exec in order to run servlets - anyway I used an xml doc that outlined application flow (most java web frameworks have this today). I am thinking of a way to adapt this for SMS messaging.
All this deep architectural thought is nice - but in the end - I just want something that works for the end user and looks nice for the web/data user - so who knows the app just be a rough and ready brute force app.
Time to load the fixtures
peas
Tomorrow - I plan on taking a cab (thanks Chris).
Last week, during a RapidSMS demo, the AC adapter for my GSM modem blew out. Thankfully this is my only electrical malfunction in Africa to date (although I do lose electricity now and again).
What is a girl to do with RapidSMS but alas no modem with which to receive and send the SMS messages.? I figured that I would go look for a soldering iron and solder the AC adapter tip to an extra power supply. Perhaps think of some clever way to integrate it with my iGo power kit....
I did see some dodgy multi-tipped power adapters at the local market (see pictures), but they **really* looked dodgy. Would I be able to find a soldering iron in time?
This morning, I went over to the cellphone shop across the street and asked about his usb enabled phones. Amazingly, he had a wire that connects my crappy loaner Nokia 1110 to usb. I bought the wire - went back to my System76 ubuntu netbook - plugged the sucker in and guess what I see on my /dev. ttyUSB0 - Halleluja. Fantastic.
To celebrate I took myself to lunch over at mama mia and ate an entire margarita pizza - that was divine - and half a coke - there I banged out some emails, wrote some docs, and started work on the new INFSSS rapidSMS system.
I am creating two apps - a Malawi app and a INFSSS app
the Malawi app will hopefully be reusable with the Mother/Child HIV/AIDs Project.
First I am creating the data models:
patent ids, and HSA ids (finally got the IDs that the ministry of health uses) for Malawi app
muac, height, weight etc for INFSSS app
next I'm loading in the historical data - will be doing that in a bit - I just finished cleaning/rationalizing it.
then I am going to start working on the views.
I have some time to get the message parsing to work - since I am not going into the field for another week - However I want to get the web interface finished asap - so people can start navigating the data and feel good about the project.
In terms of messaging. I am thinking about building an app that uses regular expressions and callbacks - similar to Urls.py. There should be an elegant way that RapidSMS handles sms parsing. Another consideration is message flow. I remember back i the internet stone age, when I was programming in Java, and Tomcat did not exist and I had to use servlet exec in order to run servlets - anyway I used an xml doc that outlined application flow (most java web frameworks have this today). I am thinking of a way to adapt this for SMS messaging.
All this deep architectural thought is nice - but in the end - I just want something that works for the end user and looks nice for the web/data user - so who knows the app just be a rough and ready brute force app.
Time to load the fixtures
peas
Tuesday, August 25, 2009
The Lilongwe Server Farm
Today brought me to the UNICEF/Lilongwe server farm/cage. I'll post a picture later.
Here I inspected the source of all that is good and holy in the Lilongwe RapidSMS project - the RapidSMS server.
This is the hardware system: One computer, 2 serial modems with serial to usb adaptors. There are 4 usb ports total so we can add 2 additional modems out of the box, without adding a usb hub.
There are some questions that we are asking about RapidSMS implementation. RapidSMS is going to support 2 different projects in Malawi, a Malnutrition project and a mother child HIV/AIDS project. I dont think these should run under the same rapidsms instance, but has anyone tried running 2 rapidsms projects at the same time,on the same port.... I've done this with Django - but media temple did all the heavy lifting.
I still need to do some more work planning the barcamp. My goal is to work on a RapidSMS based twitter app. Similar to the Naijapulse - Nigerian Twitter. I'm planning two barcamps here. My UNICEF collegue Sean suggested that I communicate with MobileActive and do some sort of NY-Mzuzu remote barcamp. I dont know if Malawi has the bandwidth for it.
Today I was also thinking of marriage. Is marriage a raw deal for women in developing countries?
I am a liberated western woman married to a liberated eastern man - and I think our marriage has advantages - FOR ME. My husband and I share work, pool income, share expenses, provide support - and my husband cooks delicious food for me and begrudgingly picks up my socks which I hide around the apartment. I'm trying to figure out what he gets out of the relationship, but I digress.
Professionally, as a working woman, I think some men find it easier to work with married women. Pehaps marriage seems to confirm a certain level of maturity or perhaps acceptability. I dont know, I have not conducted a scientific study, but I have experienced different treatment pre marriage vs post marriage.
Marriage is such a hot topic in the United States. People want the ability to get married (gay rights), there are tons of dating sites dedicated to finding the right match, and there is certain social pressure to be married if everyone in your social circle is married. When we go into the third world we assume these same circumstances exist.
DO NOT BE FOOLED, I think marriage is a raw deal for women in developing countries. Today I got a lift to the main UNICEF headquarters from a woman named Lindsay. I dont know her age, but she has 5 children, works a full time job, and her husband lives in a different city (Blantyre) 5 hours away. She is a no nonsense woman - we did share some laughs though. Lindsay has no time for nonsense, raising 5 children by herself. What has marriage given her - 5 kids, a full time job, and an absent husband.
Did she choose to get married? How old was she? Was it an arranged marriage? The woman that runs the front desk at my hotel signs her email with Mrs. Is this empowering or enslaving?
Marriage rights in the US, but lets also have Singles rights around the world.
The NYTimes - amazingly enough since I am really down on the nytimes - ran a great magazine issue on woman's rights in the third world. I recommend it.
Here I inspected the source of all that is good and holy in the Lilongwe RapidSMS project - the RapidSMS server.
This is the hardware system: One computer, 2 serial modems with serial to usb adaptors. There are 4 usb ports total so we can add 2 additional modems out of the box, without adding a usb hub.
There are some questions that we are asking about RapidSMS implementation. RapidSMS is going to support 2 different projects in Malawi, a Malnutrition project and a mother child HIV/AIDS project. I dont think these should run under the same rapidsms instance, but has anyone tried running 2 rapidsms projects at the same time,on the same port.... I've done this with Django - but media temple did all the heavy lifting.
I still need to do some more work planning the barcamp. My goal is to work on a RapidSMS based twitter app. Similar to the Naijapulse - Nigerian Twitter. I'm planning two barcamps here. My UNICEF collegue Sean suggested that I communicate with MobileActive and do some sort of NY-Mzuzu remote barcamp. I dont know if Malawi has the bandwidth for it.
Today I was also thinking of marriage. Is marriage a raw deal for women in developing countries?
I am a liberated western woman married to a liberated eastern man - and I think our marriage has advantages - FOR ME. My husband and I share work, pool income, share expenses, provide support - and my husband cooks delicious food for me and begrudgingly picks up my socks which I hide around the apartment. I'm trying to figure out what he gets out of the relationship, but I digress.
Professionally, as a working woman, I think some men find it easier to work with married women. Pehaps marriage seems to confirm a certain level of maturity or perhaps acceptability. I dont know, I have not conducted a scientific study, but I have experienced different treatment pre marriage vs post marriage.
Marriage is such a hot topic in the United States. People want the ability to get married (gay rights), there are tons of dating sites dedicated to finding the right match, and there is certain social pressure to be married if everyone in your social circle is married. When we go into the third world we assume these same circumstances exist.
DO NOT BE FOOLED, I think marriage is a raw deal for women in developing countries. Today I got a lift to the main UNICEF headquarters from a woman named Lindsay. I dont know her age, but she has 5 children, works a full time job, and her husband lives in a different city (Blantyre) 5 hours away. She is a no nonsense woman - we did share some laughs though. Lindsay has no time for nonsense, raising 5 children by herself. What has marriage given her - 5 kids, a full time job, and an absent husband.
Did she choose to get married? How old was she? Was it an arranged marriage? The woman that runs the front desk at my hotel signs her email with Mrs. Is this empowering or enslaving?
Marriage rights in the US, but lets also have Singles rights around the world.
The NYTimes - amazingly enough since I am really down on the nytimes - ran a great magazine issue on woman's rights in the third world. I recommend it.
Monday, August 24, 2009
In the data
Back at UNICEF after a relaxing weekend of lollygagging around lilongwe.
I am finally feeling myself, after a stressful morning of moving hotels, and looking for the UNICEF van.
I am moving back to the Kiboko - which seems like The Hong Kong Four Seasons after a weekend at the malarial swamp that is the Sunbird Lilongwe (servering real coffee and wifi enabled though it may be).
Today I am taking care of some administrativa - coordinating trips to the field, coordinating RapidSMS training sessions / barcamps at Mzuzu University and at Baobab. Soyapi - a local RoR developer at Baobab is going to add me to the local developer listserv! I am also specing out my interface changes to the templates.
In terms of rapidsms development - I am planning to make all the changes to django/rapidsms templates and then, time permitting, I'll move some functionality over to apps. I want to add a basic stats app, a graphing app, and a email app (does one exist), a scheduler app - in that order. I also have to check something on my cron job that builds the rapidsms documentation. It threw an error this morning - good thing no one is checking in documentation - or is it.
I am also backpopulating the malnutrition data from the Ministry of Health. This goes back to 2003. The idea is to make the RapidSMS Malnutrition - a one stop hub for Malawi Malnutrition data. This is one way to ensure that the system is continually referenced, used, monitored, updated, not abandoned - etc.. I am having some problems copying the data - I think the disk drive has a virus.
We are going to do fun stuff with data - scatterplot, bargraph,correlate, regress - Where is my Tufte book? We are also going to integrate the website with documentation about the project - oh another app - perhaps a document manager app. These are all simple apps - but you need to break them out so that other people can use them and integrate them into their own projects. There should also be a RapidSMS tag based template library for rendering responses on sms or other devices.
I am also thinking about looking at jython integration with RapidSMS. This might be a useful way to interface with Java libaries like OpenMRS and FrontlineSMS. I know that django supports jython. It has been a while since I did jython development - the last time was in 06 when I wrote a jython soduku app.
But enough shop talk - tonight I will return to my beloved Kiboko. I will resume the ancient practice of drinking alcoholic beverages and the modern practice of pulling code from adam's github rapidsms fork. Then perhaps some RapidSMS coding, some coding on DohRaeTweet perhaps some coding on my IB options strategy, some reading, tai chi and my malaria pill.
I am convinced I have malaria, although I am taking prophylaxis (malarone). It is grossing me out as I envision little parasites in my blood - a worm in the blood - did Spinoza have malaria. A scottish nurse that I met over the weekend, told me about her parasite. It was diagonosed by the local healthcare center as a sunburn. Apparently she is going to megadose on malarone and some anti parasite drug when she returns to UK.
I am finally feeling myself, after a stressful morning of moving hotels, and looking for the UNICEF van.
I am moving back to the Kiboko - which seems like The Hong Kong Four Seasons after a weekend at the malarial swamp that is the Sunbird Lilongwe (servering real coffee and wifi enabled though it may be).
Today I am taking care of some administrativa - coordinating trips to the field, coordinating RapidSMS training sessions / barcamps at Mzuzu University and at Baobab. Soyapi - a local RoR developer at Baobab is going to add me to the local developer listserv! I am also specing out my interface changes to the templates.
In terms of rapidsms development - I am planning to make all the changes to django/rapidsms templates and then, time permitting, I'll move some functionality over to apps. I want to add a basic stats app, a graphing app, and a email app (does one exist), a scheduler app - in that order. I also have to check something on my cron job that builds the rapidsms documentation. It threw an error this morning - good thing no one is checking in documentation - or is it.
I am also backpopulating the malnutrition data from the Ministry of Health. This goes back to 2003. The idea is to make the RapidSMS Malnutrition - a one stop hub for Malawi Malnutrition data. This is one way to ensure that the system is continually referenced, used, monitored, updated, not abandoned - etc.. I am having some problems copying the data - I think the disk drive has a virus.
We are going to do fun stuff with data - scatterplot, bargraph,correlate, regress - Where is my Tufte book? We are also going to integrate the website with documentation about the project - oh another app - perhaps a document manager app. These are all simple apps - but you need to break them out so that other people can use them and integrate them into their own projects. There should also be a RapidSMS tag based template library for rendering responses on sms or other devices.
I am also thinking about looking at jython integration with RapidSMS. This might be a useful way to interface with Java libaries like OpenMRS and FrontlineSMS. I know that django supports jython. It has been a while since I did jython development - the last time was in 06 when I wrote a jython soduku app.
But enough shop talk - tonight I will return to my beloved Kiboko. I will resume the ancient practice of drinking alcoholic beverages and the modern practice of pulling code from adam's github rapidsms fork. Then perhaps some RapidSMS coding, some coding on DohRaeTweet perhaps some coding on my IB options strategy, some reading, tai chi and my malaria pill.
I am convinced I have malaria, although I am taking prophylaxis (malarone). It is grossing me out as I envision little parasites in my blood - a worm in the blood - did Spinoza have malaria. A scottish nurse that I met over the weekend, told me about her parasite. It was diagonosed by the local healthcare center as a sunburn. Apparently she is going to megadose on malarone and some anti parasite drug when she returns to UK.
Sunday, August 23, 2009
Software, Hardware, and Health
I finally met Isaac Holeman, Clinical Programs Co-founder of FrontlineSMS:Medic. Isaac is on a year long Compton Fellowship. His project is to spec out an electronic medical records system that integrates with medical data collected in the field (via sms). Isaac -I hope I got that partially correct. Isaac's accomplishments with FrontlineSMS:Medic are really fantastic and prescient. I am very excited to hear how his project develops and to hear more of his thoughts on mHealth.
Isaac has been thinking about these issues longer than I have, so it was great to sit down and talk with him.
We discussed some of the SMS/health/development solutions available
We also discussed other people and orgs doing similar work: Partners in Health, The Clinton Foundation, The Gates Foundation, RapidResponse, TextToChange, MobileActive - Ken Isaac's mentor - the list goes on...
We also talked about new medical technology, along with a scottish aid worker that is staying at the same rooming house as Isaac. I am very interested in the Cellophone technology being developed out of UCLA EE - use a sensor on your phone to diagnose various blood based diseases (such as malaria). Also interested in PointCare - they developed a portable mobile cd4 (t cell count) test. Also found this link about other cellphone-enabled medical devices. All this has inspired me to think about intelligent medical devices and integrating this with mHealth solutions.
Ahh - The Meuzzin is calling. That gives me about 45 minutes to do some kung fu before the mosquitos start to attack. I wonder how many years of my life the deet I just have sprayed will steal....
Lots of good work to do - you cant spell change with out chang (hahahahahha)
Hope to see Isaac next week for the Lucius Banda concert!
This blogging is hard - i hope my stream of consciousness translates into coherent blog posts.
Isaac has been thinking about these issues longer than I have, so it was great to sit down and talk with him.
We discussed some of the SMS/health/development solutions available
- RapidSMS - open source, super extensible, you need some technical savvy. (I'm working on this so it is of course my personal favorite :)
- FrontlineSMS - a more established turnkey solution, with support for many different phone platforms, and for java enabled xforms. I think it would be a great idea to create a FrontlineSMS app for RapidSMS to integrate with the FrontlineSMS gateway and xforms java engine.
- OpenMRS - this is an open source java based medical records system. The system is open source not the records :) FrontlineSMS:Medic (Isaac's product) is developing a plug in for OpenMRS. Again, I think this would be a great candidate for an RapidSMS app. I also think that there is a lot of potential to implement this system in the US and other developed countries - mobile/realtime communication with eHealth systems.
- Ushahidi - started out as an sms/google map mashup engine - it's strenght is in a crowd sourcing application for mapping areas of political unrest. Its built on top of FrontlineSMS and The strength of an application like ushahidi is it is a intelligible and useful solution to a well defined problem. It is an application. RapidSMS and FrontlineSMS are more general frameworks - with applications built on top of them.
We also discussed other people and orgs doing similar work: Partners in Health, The Clinton Foundation, The Gates Foundation, RapidResponse, TextToChange, MobileActive - Ken Isaac's mentor - the list goes on...
We also talked about new medical technology, along with a scottish aid worker that is staying at the same rooming house as Isaac. I am very interested in the Cellophone technology being developed out of UCLA EE - use a sensor on your phone to diagnose various blood based diseases (such as malaria). Also interested in PointCare - they developed a portable mobile cd4 (t cell count) test. Also found this link about other cellphone-enabled medical devices. All this has inspired me to think about intelligent medical devices and integrating this with mHealth solutions.
Ahh - The Meuzzin is calling. That gives me about 45 minutes to do some kung fu before the mosquitos start to attack. I wonder how many years of my life the deet I just have sprayed will steal....
Lots of good work to do - you cant spell change with out chang (hahahahahha)
Hope to see Isaac next week for the Lucius Banda concert!
This blogging is hard - i hope my stream of consciousness translates into coherent blog posts.
Labels:
frontlinesms,
frontlinesms:medic,
mHealth,
openmrs,
rapidsms,
software
Saturday, August 22, 2009
Saturday in Lilongwe
Today was my first saturday in lilongwe. I celebrated it by sleeping in till 9:30. Today I took care of some errands - bought a wifi card, got some basic necessities from the supermarket (shoprite). I also took the opportunity to walk around old-town Lilongwe (it is like 2 streets). I made friends with a tchatcha salesman - fantastic - who took me through all of his paintings. I wandered in an out of shops and stalls. Mostly I wandered and took pictures. I would like to go on a hike somewhere, or visit lake Malawi. Maybe next weekend. I still have not had any local Malawian cuisine. All the food here is european or indian. I had indian tonight in fact. I think Anthony Bourdain should do a No Reservations Malawi - to help foodies who travel here.
Today I also met with Josiah, a researcher at Mzuzu University. He stopped by Lilongwe on his way back from Blantyre (Malawi's capital). Sadly, we had an electrical outage in the middle of my RapidSMS demo and I blew the ac adaptor for my cell/modem. Damn you belkin power surge protector - you are worthless! The good news is that this will force me to integrate RapidSMS with a usb phone (like an ericsson). Josiah and I decided that I should o Mzuzu U and hold a lecture on RapidSMS, Django, and Python - so students/profs and use the system for their own projects and for data collection in the field. He's setting up a system for me and I'll be going there early Sept.
Thats about it - I wish I could upload the pictures, but the network connection is a bit slow. I attempted to ftp the pictures earlier, but I am blocked on everything but port 80.
Time for some reading, movie watching, some meditation, and a beer. These nightly beers cant be good for me - but it is helping me stay vegeterian - at least that is the excuse I am giving myself.
I have put down Development as Freedom and I'm now reading Globalization edited by Arjun Appadurai. It is a collection of essays about... Globalization - I am currently on the 3rd essay. The first two seemed a bit meandering, the high point was a colorful map of the vectors of movement and influence in Africa. I love maps. The third essay, though, is a lot of fun. Its by Andreas Huyssen on the contemporary obsession with memory - basically he is discussing modern obsession with museums/memorials and the creation of the Holocaust as a supra-national atrocities trope (where as the Rwandan Genocide for example is national - it is not used as a universal symbol for attrocities nor are there memorial museums around the world - as there are with the Holocaust). The essay just started to discuss the modern complaint that the art of memory is no longer taken seriously - people don't have to remember anything they just need to know how to access a memory (or piece of information).
I am totally obsessed with memory, and memory and the construction of meaning, memory and the construction of experience, memory devices like memory palaces, people with incredible memories - and of course, with the Alan Watts quote "Just as you need a memory, you also need a forgettory." The forgettory - also the name of my interminable novel ( a novel that I will now have to change to include a museum theme)
Today I also met with Josiah, a researcher at Mzuzu University. He stopped by Lilongwe on his way back from Blantyre (Malawi's capital). Sadly, we had an electrical outage in the middle of my RapidSMS demo and I blew the ac adaptor for my cell/modem. Damn you belkin power surge protector - you are worthless! The good news is that this will force me to integrate RapidSMS with a usb phone (like an ericsson). Josiah and I decided that I should o Mzuzu U and hold a lecture on RapidSMS, Django, and Python - so students/profs and use the system for their own projects and for data collection in the field. He's setting up a system for me and I'll be going there early Sept.
Thats about it - I wish I could upload the pictures, but the network connection is a bit slow. I attempted to ftp the pictures earlier, but I am blocked on everything but port 80.
Time for some reading, movie watching, some meditation, and a beer. These nightly beers cant be good for me - but it is helping me stay vegeterian - at least that is the excuse I am giving myself.
I have put down Development as Freedom and I'm now reading Globalization edited by Arjun Appadurai. It is a collection of essays about... Globalization - I am currently on the 3rd essay. The first two seemed a bit meandering, the high point was a colorful map of the vectors of movement and influence in Africa. I love maps. The third essay, though, is a lot of fun. Its by Andreas Huyssen on the contemporary obsession with memory - basically he is discussing modern obsession with museums/memorials and the creation of the Holocaust as a supra-national atrocities trope (where as the Rwandan Genocide for example is national - it is not used as a universal symbol for attrocities nor are there memorial museums around the world - as there are with the Holocaust). The essay just started to discuss the modern complaint that the art of memory is no longer taken seriously - people don't have to remember anything they just need to know how to access a memory (or piece of information).
I am totally obsessed with memory, and memory and the construction of meaning, memory and the construction of experience, memory devices like memory palaces, people with incredible memories - and of course, with the Alan Watts quote "Just as you need a memory, you also need a forgettory." The forgettory - also the name of my interminable novel ( a novel that I will now have to change to include a museum theme)
Friday, August 21, 2009
Wifi in Africa
I realize my blogging tone is like stream of consciousness on crack - I am working on that.
Greetings from the Sunbird, Lilongwe. I have switched hotels for the weekend. The Kiboko Town Hotel was nice. It had a decent bar and breakfast, but there no internet and there were roaches and other big bugs (but its Africa so I go with the flow).
The Sunbird is no great shakes either, (and its 2x the price!) but it has wifi. I'll be having some meetings over the weekend so wifi is key. Monday I go back to Kiboko - I owe them money for the past 3 nights. But then I want to explore the other hotels of Lilongwe in my desire to become the world Lilongwe Hotel expert. Maybe I'll check out the the madonna-tel - I have been able to negotiate a decent rate but it'll put be 1k over budget.
Here I am blogging away on wifi, but even with wifi malawi is slowwwww... Cindy Jeffers my botmatrix buddy and bitsister sent me over some sage advice.
(Cindy is working on a Rwanda tech/legal project with the Distance Lab in Inverness - and is currently presenting at ISEA in Belfast)
Cindy on African Internet:
"awesome on the hotel internet. internet and electricity are really tough in africa. like catching the wind. one suggestion for your browser - in the preferences you could turn off images, javascript, caching etc so you're just looking at text. sounds 95, but it's faster. also totally agree re google servers - i did not like gmail in rwanda. there's an option at the bottom of the page to switch to "basic html". it speeds things up. the opera browser has a turbo mode that turns off everything cept text. "
Thanks Cindy! You Rock!
A little update from the field.
Today is friday, and friday is half day in Malawi, sort of like summer fridays in NYC advertising shops. Shop closed at 1:20 and I'm hanging out waiting to meet Stanley, my UNICEF contact, to go over some R and latex - and he's giving me a sim card. We are going to analyize data - a lot of the data analysis I did in finance is really portable to these health/epidemiological issues.
I'm also waiting to meet 4 Lilongwian programmers I met online (via a Mzuzu lecturer->Mzuzu student). I am hoping to build some local expertise in Django/Python/RapidSMS - specially as UNICEF starts to add more RapidSMS based projects. We met with the Minister of Health today and it looks like we have a lot of work to do to scale up the Malnutrition SMS project - we need programmers!
13Bit News
Paul is working like a dog over at the compound coordinating interviews for our next doc on water/waterfootprint/geopolitical power/ecological measures/the kitchen sink. Paul again has garnered the coveted golden seitan award. Paul and Jamie - our incredible AP - are having a meeting today, maybe they will talk about our Paris screening. We are trying to coordinate a screening of our first 2 docs in Paris between October 8-13 - we will be there on a research mission for the doc. Does anyone in internetland knows of a Parisian venue that wants to show fantastic award-winning indie docs???
Mental Onanism
And on a light note - Lian sent me a link about twitter songsincode. People are using code to recreate song lyrics. http://www.sitepoint.com/blogs/2009/08/21/geeks-just-wanna-have-fun-songsincode/
I just submitted my own!
I totally love this! Years ago I wrote a paper about the culture of code, and I totally believe in a code literature or poetry/songs - you read the work and then you execute it. I am actually working on a twitter song application - DohRaeTweet - but its a bit different...
Pictures
Pi Yes I am taking pictures, but the connection is too slow to upload all of them - so I'll post a link with the flickr picture of the day (when I get back to NY I'll fix all this up - maybe)
Here is my daily breakfast at the lovely Kiboko Town Hotel:
http://www.flickr.com/photos/31106313@N00/3842646978/
TGIF!
Greetings from the Sunbird, Lilongwe. I have switched hotels for the weekend. The Kiboko Town Hotel was nice. It had a decent bar and breakfast, but there no internet and there were roaches and other big bugs (but its Africa so I go with the flow).
The Sunbird is no great shakes either, (and its 2x the price!) but it has wifi. I'll be having some meetings over the weekend so wifi is key. Monday I go back to Kiboko - I owe them money for the past 3 nights. But then I want to explore the other hotels of Lilongwe in my desire to become the world Lilongwe Hotel expert. Maybe I'll check out the the madonna-tel - I have been able to negotiate a decent rate but it'll put be 1k over budget.
Here I am blogging away on wifi, but even with wifi malawi is slowwwww... Cindy Jeffers my botmatrix buddy and bitsister sent me over some sage advice.
(Cindy is working on a Rwanda tech/legal project with the Distance Lab in Inverness - and is currently presenting at ISEA in Belfast)
Cindy on African Internet:
"awesome on the hotel internet. internet and electricity are really tough in africa. like catching the wind. one suggestion for your browser - in the preferences you could turn off images, javascript, caching etc so you're just looking at text. sounds 95, but it's faster. also totally agree re google servers - i did not like gmail in rwanda. there's an option at the bottom of the page to switch to "basic html". it speeds things up. the opera browser has a turbo mode that turns off everything cept text. "
Thanks Cindy! You Rock!
A little update from the field.
Today is friday, and friday is half day in Malawi, sort of like summer fridays in NYC advertising shops. Shop closed at 1:20 and I'm hanging out waiting to meet Stanley, my UNICEF contact, to go over some R and latex - and he's giving me a sim card. We are going to analyize data - a lot of the data analysis I did in finance is really portable to these health/epidemiological issues.
I'm also waiting to meet 4 Lilongwian programmers I met online (via a Mzuzu lecturer->Mzuzu student). I am hoping to build some local expertise in Django/Python/RapidSMS - specially as UNICEF starts to add more RapidSMS based projects. We met with the Minister of Health today and it looks like we have a lot of work to do to scale up the Malnutrition SMS project - we need programmers!
13Bit News
Paul is working like a dog over at the compound coordinating interviews for our next doc on water/waterfootprint/geopolitical power/ecological measures/the kitchen sink. Paul again has garnered the coveted golden seitan award. Paul and Jamie - our incredible AP - are having a meeting today, maybe they will talk about our Paris screening. We are trying to coordinate a screening of our first 2 docs in Paris between October 8-13 - we will be there on a research mission for the doc. Does anyone in internetland knows of a Parisian venue that wants to show fantastic award-winning indie docs???
Mental Onanism
And on a light note - Lian sent me a link about twitter songsincode. People are using code to recreate song lyrics. http://www.sitepoint.com/blogs/2009/08/21/geeks-just-wanna-have-fun-songsincode/
I just submitted my own!
I totally love this! Years ago I wrote a paper about the culture of code, and I totally believe in a code literature or poetry/songs - you read the work and then you execute it. I am actually working on a twitter song application - DohRaeTweet - but its a bit different...
Pictures
Pi Yes I am taking pictures, but the connection is too slow to upload all of them - so I'll post a link with the flickr picture of the day (when I get back to NY I'll fix all this up - maybe)
Here is my daily breakfast at the lovely Kiboko Town Hotel:
http://www.flickr.com/photos/31106313@N00/3842646978/
TGIF!
Thursday, August 20, 2009
What are you doing in Malawi
People ask - so what are you working on...
This is my first public policy/public heath type project and I dont have the jargon down - jargon being the signifier of intelligence and competance in our post-modern/post-structuralist/late-capitalist society.
My Project
I on a contract for UNICEF & an NGO of recent Columbia SIPA grads.
My Mission
Expand a pilot malnutrition surveillance project to eventual country wide deployment.
(This has recently been merged with a Mother/Newborn HIV/AIDS project - but that is for another post)
The History
The Malawi Ministry of Health collects data samples (ie surveys) of children's health indicators (mid upper arm circumference - muac, height/weight %). Based on these data samples the Ministry of Health and UNICEF monitor trends and deploys aid
through the country.
The Problem
The system was paper based. There was difficulty in collecting the data, getting the data back to headquarters, and entering the data into the system. At every level data was lost and corrupted.
The system had a 2 month lag. That means if a child is mildly malnurished in January, by March when she is processed in the system - she might be extremely malnurished.
The Solution
The NGO/Columbia SIPA students had a brilliant insight - move the data collection and processing online. In Africa, as in many countries, there is little internet penetration, however there is wide cellphone penetration.
The solution was to move this data collection to an text-messaging - ie SMS system. They partnered with UNICEF in NYC to program this based on RapidSMS (an open source python/Django framework pioneered by developers at UNICEF).
Moving from a paper based system to an SMS/technology solution is a fantastic advancemen.
Now UNICEF & MoH can monitor health crisis in real-time and deploy aid to greater effect.
Data collection and data quality is much better because the SMS system can send realtime feedback to the field workers (data collectors).
[Ohh I should write a novel - the data collector]
The actual work
In May, a pilot of this system was released for 3 health offices in May (there are 500 health office in Malawi). The head of the Malawi UNICEF Nutrition - Stanley (who is fantastic/helpful/visionary) wants to expand this to 15.
I'm here to upgrade the RapidSMS system, do some custom programming, hire 2 local programmers to continue the work when I leave, and to go into the field to train local health workers in using the RapidSMS system.
The Analysis
This whole project is based around statistics. From an academic,epidemiological perspective, the data is incredibly important to better understand the tradjectories of certain diseases. (e.g., are certain areas more prone to certain health issues, what sorts of measurements correlate to various diseases)
Statistics figures into this twice: first in the sampling of the data, and second in the determining of norms (we need norms in order to figure out who is deviating - who is sick)
But really do we need sampling? (You may want to stop reading now, insane rambling ahead)
We have the ability to collect and process massive amounts of data - why do we need to take a sample? Why can't we monitor every single child and deploy aid on an individual basis?
The bottleneck for processing data for EVERY child is data collection. It would be a massive undertaking to collect all this data for every child in Malawi. However if we had intelligent measuring devices that communicated their data via SMS back to the central system - we would solve much of the data collection issue. The final problem is how do we identify an individual child? (duh the chip implanted in their brain). I am thinking perhaps thumb print. This is very big brother and maybe statistical sampling prevents us from this sort of biopolitical control. (I am now having flashes of Agamben Homer Sacer and Bare Life). However I think if this data were open / open source - (and individuals were kept anonymous) - then perhaps you could avoid the sort of totalitarian techno-fascist control that is inevitable with this sort of solution... Should you even keep people anonymous? who are you protecting if you are protecting the identity of a malnourished child or a child with malaria? If all this data is open, perhaps illness based discrimination will end. (That is a radical and scary thought and I dont want to volunteer for the pilot :)
I think this is the ultimate end of technology/health/society - and we should direct it rather than hide our heads in the sand and wait for the government or business or some closed entity to control this information.
We are doing the next 13Bit documentary on water, the geopolitics of water,water and power, maybe we'll add something on the biopolitics of water - or water aid.
(I will be uploading pictures - once I get a non-unicef internet connection - hopefully tonight. I am starting to crave meat - how much longer will my pescatarianism hold out)
This is my first public policy/public heath type project and I dont have the jargon down - jargon being the signifier of intelligence and competance in our post-modern/post-structuralist/late-capitalist society.
My Project
I on a contract for UNICEF & an NGO of recent Columbia SIPA grads.
My Mission
Expand a pilot malnutrition surveillance project to eventual country wide deployment.
(This has recently been merged with a Mother/Newborn HIV/AIDS project - but that is for another post)
The History
The Malawi Ministry of Health collects data samples (ie surveys) of children's health indicators (mid upper arm circumference - muac, height/weight %). Based on these data samples the Ministry of Health and UNICEF monitor trends and deploys aid
through the country.
The Problem
The system was paper based. There was difficulty in collecting the data, getting the data back to headquarters, and entering the data into the system. At every level data was lost and corrupted.
The system had a 2 month lag. That means if a child is mildly malnurished in January, by March when she is processed in the system - she might be extremely malnurished.
The Solution
The NGO/Columbia SIPA students had a brilliant insight - move the data collection and processing online. In Africa, as in many countries, there is little internet penetration, however there is wide cellphone penetration.
The solution was to move this data collection to an text-messaging - ie SMS system. They partnered with UNICEF in NYC to program this based on RapidSMS (an open source python/Django framework pioneered by developers at UNICEF).
Moving from a paper based system to an SMS/technology solution is a fantastic advancemen.
Now UNICEF & MoH can monitor health crisis in real-time and deploy aid to greater effect.
Data collection and data quality is much better because the SMS system can send realtime feedback to the field workers (data collectors).
[Ohh I should write a novel - the data collector]
The actual work
In May, a pilot of this system was released for 3 health offices in May (there are 500 health office in Malawi). The head of the Malawi UNICEF Nutrition - Stanley (who is fantastic/helpful/visionary) wants to expand this to 15.
I'm here to upgrade the RapidSMS system, do some custom programming, hire 2 local programmers to continue the work when I leave, and to go into the field to train local health workers in using the RapidSMS system.
The Analysis
This whole project is based around statistics. From an academic,epidemiological perspective, the data is incredibly important to better understand the tradjectories of certain diseases. (e.g., are certain areas more prone to certain health issues, what sorts of measurements correlate to various diseases)
Statistics figures into this twice: first in the sampling of the data, and second in the determining of norms (we need norms in order to figure out who is deviating - who is sick)
But really do we need sampling? (You may want to stop reading now, insane rambling ahead)
We have the ability to collect and process massive amounts of data - why do we need to take a sample? Why can't we monitor every single child and deploy aid on an individual basis?
The bottleneck for processing data for EVERY child is data collection. It would be a massive undertaking to collect all this data for every child in Malawi. However if we had intelligent measuring devices that communicated their data via SMS back to the central system - we would solve much of the data collection issue. The final problem is how do we identify an individual child? (duh the chip implanted in their brain). I am thinking perhaps thumb print. This is very big brother and maybe statistical sampling prevents us from this sort of biopolitical control. (I am now having flashes of Agamben Homer Sacer and Bare Life). However I think if this data were open / open source - (and individuals were kept anonymous) - then perhaps you could avoid the sort of totalitarian techno-fascist control that is inevitable with this sort of solution... Should you even keep people anonymous? who are you protecting if you are protecting the identity of a malnourished child or a child with malaria? If all this data is open, perhaps illness based discrimination will end. (That is a radical and scary thought and I dont want to volunteer for the pilot :)
I think this is the ultimate end of technology/health/society - and we should direct it rather than hide our heads in the sand and wait for the government or business or some closed entity to control this information.
We are doing the next 13Bit documentary on water, the geopolitics of water,water and power, maybe we'll add something on the biopolitics of water - or water aid.
(I will be uploading pictures - once I get a non-unicef internet connection - hopefully tonight. I am starting to crave meat - how much longer will my pescatarianism hold out)
Wednesday, August 19, 2009
Room with a view
I am staying in the commercial heart of Lilongwe.
(I attempted to upload a photo but this failed - I also found a virus on my card - NakedWoman.vbs - should I be concerned ...)
This morning I had a yummy breakfast of eggs, coffee, and fruit salad. I ate a pepto 30 minutes before to coat my stomach with bismuth and prevent any nasties from lodging in my tummy. This is how you travel when you are a paranoid hypocondriac germ-o-phobe.
Anyway, breakfast was yummy with no side effects. I even made a friend. A woman from london working at christian aid. I think she is doing something legal related. She is actually staying in the room next door. Best of all, she has a car - I hope she will take me joy riding in the Malawi country side this weekend.
I am writing this from my office at UNICEF. I must use a unicef computer for security purposes, so i will be transferring files via usb and downloading putty. The bus back to my hotel leaves in 30 min, the day ends at 5. This means I really need a hotel with internet. I think I may need to suck it up and pay more money to stay in a better hotel - the madonna hotel perchance?
Hmm
Yes Paul - I philosophize all the time- you caught me -
(I attempted to upload a photo but this failed - I also found a virus on my card - NakedWoman.vbs - should I be concerned ...)
This morning I had a yummy breakfast of eggs, coffee, and fruit salad. I ate a pepto 30 minutes before to coat my stomach with bismuth and prevent any nasties from lodging in my tummy. This is how you travel when you are a paranoid hypocondriac germ-o-phobe.
Anyway, breakfast was yummy with no side effects. I even made a friend. A woman from london working at christian aid. I think she is doing something legal related. She is actually staying in the room next door. Best of all, she has a car - I hope she will take me joy riding in the Malawi country side this weekend.
I am writing this from my office at UNICEF. I must use a unicef computer for security purposes, so i will be transferring files via usb and downloading putty. The bus back to my hotel leaves in 30 min, the day ends at 5. This means I really need a hotel with internet. I think I may need to suck it up and pay more money to stay in a better hotel - the madonna hotel perchance?
Hmm
Yes Paul - I philosophize all the time- you caught me -
Tuesday, August 18, 2009
Lilongwe
I just landed in Lilongwe for my UNICEF child malnutrition/AIDS project - ie move all record keeping and tracking to SMS so we can deploy help in realtime.
I am staying at the Kiboko Hotel - which is underwhelming - their wifi does not work. I am looking for a sim card - but they are sold out at the place across the street. I am staying in the center of old town Lilongwe and writing this from an internet cafe.
It is really exciting to be here. I have never been to africa - but I do have the traveling bug. I am excited to do some good work, to help people, and hopefully not contract any parasites. Once I get wifi working I'll post pictures and video and better posts.
I am now going to have a drink at the hotel bar a la Kapuzinsky - because my wifi doesn't work. I am reading Sen's Freedom as Development - which is not really blowing my mind -but I will give it a shot. These days I feel I have been having lots of conversations about freedom. Freedom of Action (poverty etc) and Freedom of Culture (open source software). (this freedom of culture is your fault Nina Paley :)
I am staying at the Kiboko Hotel - which is underwhelming - their wifi does not work. I am looking for a sim card - but they are sold out at the place across the street. I am staying in the center of old town Lilongwe and writing this from an internet cafe.
It is really exciting to be here. I have never been to africa - but I do have the traveling bug. I am excited to do some good work, to help people, and hopefully not contract any parasites. Once I get wifi working I'll post pictures and video and better posts.
I am now going to have a drink at the hotel bar a la Kapuzinsky - because my wifi doesn't work. I am reading Sen's Freedom as Development - which is not really blowing my mind -but I will give it a shot. These days I feel I have been having lots of conversations about freedom. Freedom of Action (poverty etc) and Freedom of Culture (open source software). (this freedom of culture is your fault Nina Paley :)
Subscribe to:
Posts (Atom)