Locusts in Africa

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.

Here is the apk file of the app https://drive.google.com/file/d/1nAvTolDEz48mPLtIPO6abumW6KQAM-00/view?usp=sharing

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 :slight_smile:

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

Thanks so much for any help

david

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

David,

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.

Here is the apk file of the app https://drive.google.com/file/d/1nAvTolDEz48mPLtIPO6abumW6KQAM-00/view?usp=sharing

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
  1. 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 :slight_smile:

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

I pay a team in India to do this.

:frowning:

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.