Locusts in Africa

24 views
Skip to first unread message

David Hughes

unread,
Feb 15, 2020, 1:30:06 AM2/15/20
to Ruby on Rails: Talk
Dear Ruby community 

I am a scientist at Penn State and the United Nations. We have a Platform called PlantVillage that is a public good with a backend built on RoR with various apps farmers use around the world to get help. The reason these farmers (e.g. in Kenya) would use the tool is that they dont have access to human experts who can help them know the problems in their field (pests/climate change stress). You can read our blogs here https://plantvillage.psu.edu/blogposts

I wrote back in 2018 to this group to ask about getting your help. Many of you were very keen on helping. THANKS!! 

I didnt follow up as I am not a coder. I pay a team in India to do this.  So, it was just easier to keep with them. I didnt even know where to start in sharing the code on GitHub. 

Now in recent weeks Ruby experts at Penn State (who built ScholarSphere https://github.com/psu-stewardship/scholarsphere) have looked at our code and it is very bad! Rubocop showing errors off the charts and no tests/commit. 

It needs your help and we are actively trying to make sure we dont have any privacy issues so we can open source it. 

I am reaching out now as we have an extremely urgent situation though. You may have seen the news about Locust swarms in East Africa? They are the worse in 75 years

According to the UN, 19 million people are in immediate danger. They are at Level 3 (crisis). Since we can expect hotter, drier weather in some affected regions in the coming months (low crop outcome) the addition of locusts in potentially a famine. 

Here is an article today https://www.bbc.com/news/world-africa-51501832 The video is informative 

They are mostly in Kenya where control is possible. But we need lots of people out there with phone use our app and reporting sitings. Currently, they use WhatsApp but since that is private we cannot get the GPS coordinates of the locations. 

The Indian team I employ built an app. But I am sure it has problems and if we have thousands of users it could fail. 



It is super simple: It must do two things 


1) Allow users to upload images/videos from which United Nations Staff can determine the location and stage of locust swarms

2) Enable app users to have a free-ranging chat function. There should be two chat channels: general (any users of apps) and admin (just select). 


One of the problems we have is the code base for the locust app is tied to the rest of out platform and apps. So, there are security issues if user names and passwords etc. 

Your coding skills could save lives here: that is not an exaggeration! If you can help that would be wonderful. I am very new at this so dont know your culture but am willing to learn. We have thousands of agriculture experts and farmers working with us. We could have thousands of coders like you. So, if you can be patient and help me build this we can create a community using the skills you all have helping the poorest people on our planet cope with stresses like locusts and climate change. 

Fair warning! If you jump in the code won't be pretty and documented. I can incentivize you with some swag :) 

I am trying to hire Ruby people at Penn State so will have an advert soon. 


Thanks so much for any help 

david 


On Nov 13, 2018, at 11:22 AM, David Hughes <davidpet...@gmail.com> wrote:

Hi all
I am a scientist at Penn State University and the United Nations Food and Agricultural Organisation. I work to help poor farmers in Africa and elsewhere grow more food by combatting pests and diseases.  There are two ways we do this: an Android app that runs TensorFlow object detection offline inside the food without a web connection (see here). The other way is through an Open Access library on content called PlantVillage with a QA forum. This platform is 6 years old and had around 8 million visitors with around 80-100k new month.  https://plantvillage.psu.edu/  The platform is RoR

All of this is a public good, aimed at helping poor farmers who typically earn a few dollars/day. I am spending a lot of money on developers (in India) and  I raise money with grant writing etc. I am having issues around quality and cannot afford the necessary QA. 

I was wondering if I open sourced the site would your community be interested in helping? We work directly with farmers and through the United Nations. It really can be a very impactful project 

My goal is an AI-driven platform that is the number 1 resource in the world for smallholder farmers around the world. All ad free and without haresting their data to sell 

I would love to hear your views on whether open sourcing would be a good idea and would people  join in?

Thanks 

David 


David,

Before you opensource the project, you will want to have a Senior RoR developer comb through to make sure the authentication credentials that should be private have been removed from the source code. These could be API keys, database passwords e.t.c. Even if it's removed from the current version of the source code this information is available in the git repository history, which is just a normal function of version control systems... they allow you to go back into the past. So if you just click the button and open source the project as-is you can open yourself to several security risks. Perhaps the idea will be to cleanup secret info from the app then port the files into a fresh git repo which of won't contain the history. You will also need to ensure that for new code development security errors like this are avoided. Same applies to the android app if you want to opensource that.

Essentially my point is that to be successful at running an opensource project in any language you need Sr software developers that are committed to being gatekeepers of the code, else things can go downhill pretty quickly. You might consider paying 1 or 2 trusted people to take on this role. Additionally to get code contributions from developers you will need to do some type of "marketing" to generate interest. Developers will not just contribute code and keep contributing simply because the software is opensource.

Nicholas Schwaderer

unread,
Feb 15, 2020, 3:00:49 AM2/15/20
to rubyonra...@googlegroups.com
Hi David, 

I recently had a need to record live locations/weather readings/health data submitted by users with an application. Similarly we found that the best approach for mass users was via a text interface instead of a whole mobile/web application. It also massively increases access for folks in regions with limited connectivity etc. 

I don't know about Whatsapp, but I know Telegram supports location sharing. It also has a very user-friendly approach to writing "bots" which can interact with the user, accept their locations/photos/etc. You can hook this up to a Ruby on Rails backend to manage the conversation however you like (or simply accept data). In this sense, you could integrate this 'new' Rails app with your existing apps, or build this backend into your existing Rails locust app. 

I presented a few talks on this just over a year ago: https://shrug.org/meetings/shrug-103/
Open source version of my work on this: https://github.com/schwad/mara

Good luck,

Schwad

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-ta...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/56baa782-6880-42ca-9540-a5fe604e8d63%40googlegroups.com.

Hasan Diwan

unread,
Feb 15, 2020, 3:11:10 AM2/15/20
to rubyonra...@googlegroups.com
David,
On Sat, 15 Feb 2020 at 06:30, David Hughes <davidpet...@gmail.com> wrote:
I am a scientist at Penn State and the United Nations. We have a Platform called PlantVillage that is a public good with a backend built on RoR with various apps farmers use around the world to get help. The reason these farmers (e.g. in Kenya) would use the tool is that they dont have access to human experts who can help them know the problems in their field (pests/climate change stress). You can read our blogs here https://plantvillage.psu.edu/blogposts
I wrote back in 2018 to this group to ask about getting your help. Many of you were very keen on helping. THANKS!! 
I didnt follow up as I am not a coder. I pay a team in India to do this.  So, it was just easier to keep with them. I didnt even know where to start in sharing the code on GitHub. 
Now in recent weeks Ruby experts at Penn State (who built ScholarSphere https://github.com/psu-stewardship/scholarsphere) have looked at our code and it is very bad! Rubocop showing errors off the charts and no tests/commit. 

I'll take a look at it if you don't mind. 
It needs your help and we are actively trying to make sure we dont have any privacy issues so we can open source it. 
I am reaching out now as we have an extremely urgent situation though. You may have seen the news about Locust swarms in East Africa? They are the worse in 75 years
According to the UN, 19 million people are in immediate danger. They are at Level 3 (crisis). Since we can expect hotter, drier weather in some affected regions in the coming months (low crop outcome) the addition of locusts in potentially a famine. 
Here is an article today https://www.bbc.com/news/world-africa-51501832 The video is informative 
They are mostly in Kenya where control is possible. But we need lots of people out there with phone use our app and reporting sitings. Currently, they use WhatsApp but since that is private we cannot get the GPS coordinates of the locations. 
The Indian team I employ built an app. But I am sure it has problems and if we have thousands of users it could fail. 
It is super simple: It must do two things 
1) Allow users to upload images/videos from which United Nations Staff can determine the location and stage of locust swarms
2) Enable app users to have a free-ranging chat function. There should be two chat channels: general (any users of apps) and admin (just select). 
One of the problems we have is the code base for the locust app is tied to the rest of out platform and apps. So, there are security issues if user names and passwords etc. 
Your coding skills could save lives here: that is not an exaggeration! If you can help that would be wonderful. I am very new at this so dont know your culture but am willing to learn. We have thousands of agriculture experts and farmers working with us. We could have thousands of coders like you. So, if you can be patient and help me build this we can create a community using the skills you all have helping the poorest people on our planet cope with stresses like locusts and climate change. 
Fair warning! If you jump in the code won't be pretty and documented. I can incentivize you with some swag :) 

What sort of swag? 
I am trying to hire Ruby people at Penn State so will have an advert soon. 

How much budget do you have available? -- H

--
If you wish to request my time, please do so using bit.ly/hd1AppointmentRequest.
Si vous voudrais faire connnaisance, allez a bit.ly/hd1AppointmentRequest.

Sent from my mobile device
Envoye de mon portable

Hassan Schroeder

unread,
Feb 15, 2020, 2:11:29 PM2/15/20
to rubyonrails-talk
On Fri, Feb 14, 2020 at 10:30 PM David Hughes
<davidpet...@gmail.com> wrote:

> I pay a team in India to do this.

:-(

> Now in recent weeks Ruby experts at Penn State have looked at our code and it is very bad!

I've been dropped into this situation and I'll bet money that there is
virtually nothing salvageable from that code.

> We could have thousands of coders like you.

OMG no. You do *not* need "thousands of coders", you need one or
two senior devs to triage your current mess and choose the best way
forward (which might be a complete rewrite).

Open sourcing the code either as-is or as a new app still requires some
technical leadership to define requirements (and set expectations) and
experienced eyes reviewing PRs -- it's not magic.

--
Hassan Schroeder ------------------------ hassan.s...@gmail.com
twitter: @hassan
Consulting Availability : Silicon Valley or remote
Reply all
Reply to author
Forward
0 new messages