Ruby on Rails
Friday, February 14, 2020
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 :)
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 allI 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 RoRAll 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 projectMy 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 sellI would love to hear your views on whether open sourcing would be a good idea and would people join in?ThanksDavid
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.
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-talk+unsubscribe@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.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment