Tagged in Tech
Riveting Introduction to Flake8
Recently, I was learning about tools that make me a better Python developer. Having previously had the mindset that having a strong enough skill-set would reduce your chances of having linting issues within your code, I was in shock to realize that other factors were in play too. At the time, I had just heard
Why we are moving away from Om (and how we decided on our new front-end tech stack)
We recently evaluated the future of our front-end stack. The changes we decided on did not come easy, but we figured it out and wrote this article to walk you through the factors influencing our decision — and explore the directions we could have gone. Our hope is you can benefit from the research we
Presenting on Machine Learning for Healthcare at the Royal Academy of Engineers
This past week we were in Vietnam for the Royal Academy of Engineers Frontiers of Development symposium, which is brought together engineering leaders in academia and industry to solve global development issues. I presented on ways to re-think how we can utilize machine learning and engineering in low and middle income countries to create more
Ona On The Data Engineering Podcast
I was recently interviewed by Tobias Macey for the Data Engineering Podcast, the podcast about modern data management. We talked about the history of Ona and some of the technical challenges we’ve had to address to build global data collection platforms in humanitarian, international development, and global health verticals. You can check it out below.
Automate your Infrastructure by Reusing Terraform Definitions
Terraform is the tool for infrastructure as code that we use at Ona to automate the AWS resources we setup. Terraform can also be used with other cloud infrastructure providers. Find the full list of supported providers here. Terraform allows us to reuse infrastructure definitions through modules. However, there’s little documentation on how this can be done
Using Deep Learning to Predict Water Point functionality from an Image
An essential part of ensuring that people have equitable access to services is being able to quickly and continuously assess whether those services are functioning properly. If your government provides health care it needs to know those clinics are open, if it provides public bus services it needs to know those buses are running on
Applying the Principles for Digital Development to Data Platforms
In Streaming Ona Data with NiFi, Kafka, Druid, and Superset, we went into detail on our technical approach to building a streaming data architecture, yet we skipped over why this is important. Simply put, we think the widespread practice of building custom software solutions in international development is a waste of time and money. This isn’t
Introduction To Data Scraping With Python
Last Thursday, Kelvin gave a talk at PyconKE 2017 titled “Introduction to Scraping using Python”. This was a beginner-level introduction that used three cool Python libraries: beautiful soup mechanize argparse In the talk, I demonstrated how to use these libraries to programmatically access the Kenya Power & Lighting Company’s website and automatically fetch a monthly power bill.
Streaming Ona Data with NiFi, Kafka, Druid, and Superset
A common need across all our projects and partners’ projects is to build up-to-date indicators from stored data. We have built dashboards showing project progress and other stakeholder-relevant information in our malaria spraying project (mSpray), drought response monitoring project in Somalia, and electronic medical record system (OpenSRP). Currently we create indicators on an ad-hoc basis,
Improve Sampling Accuracy with Weighted Random Selections
Every data collector eventually runs into this issue at some point — you know the makeup of your population as a whole, but you only have access to a small group that isn’t representative. For example, you know that as a whole, the population pizza topping preference for plain cheese:pepperonni is 1:1. However, you only have access