Setting Up a Multi-Container Development Environment with Docker
In this post we will set up a development environment for an application that will be using multiple Docker containers.
SSH and Password Managers
The ssh program on Linux allows you to specify a program or script from where it should get a passphrase when it needs one. This allows you to, for instance, hookup it up to your password manager to feed it the passphrase. You can do this by specifying the path to the program to execute
Using FHIR with Google Cloud, BigQuery, and the AI Platform
From our XLSForm definitions in Ona Data to our JSON Forms in OpenSRP, the work we do at Ona is built upon community driven standards. As we further integrate HL7 FHIR (Fast Health Interoperability Resources) into OpenSRP, we’ve been exploring the existing tooling available. In this post we’ll dive into the Google Cloud Platform (GCP)
Clojure & JavaScript Higher-order Functions
It was not easy for me to learn JavaScript. And when it came to learning higher-order functions, I had to take a break — literally get up and take a walk around the block — because I couldn’t seem to understand it. But through my pain, I’ve put together a short guide that hopefully makes it clearer
Plotting Real-Time Locations with Mapbox
In this post we will leverage Mapbox’s real time live data plotting abilities to track the International Space Station (ISS) location on a map in real time. Real-time mapping and geolocation tracking is a core feature for web and mobile applications across many industries. In simpler words, this feature detects and streams location data to
Terraform 101
Terraform is a product from Hashicorp. It is a tool for building, changing, and versioning infrastructure safely and efficiently. Written in Go, Terraform creates a plan for how it will build your infrastructure and then executes it. Recently, we held our first master class in Terraform, courtesy of our Director of Engineering and SRE team. It
A Surprisingly Complex Task
by Rodgers My first week at Ona I was assigned a GitHub issue labeled high priority. The GitHub issue was created about 3 weeks before I joined. My task was to upgrade the HTTP library that was being used in the OpenSRP Android client. OpenSRP was using DefaultHttpClient and it was not working for Android version 5.0
Dependency injection with Kotlin using the Koin library
by Elly Many experienced Java Developers are familiar with Dagger, some may have used libraries like Guice, Weld or the Context Dependency Injection (CDI) available in the Spring framework for managing dependencies in their apps. With the adoption of Kotlin you may be wondering which tool/library to use for dependency injection in your next app. Whereas you can use Dagger (for all
How to Build a Slack Bot for Reporting Standups
by Pharis After joining Ona as a Software Engineering Intern, I was tasked to compile and post standups for all the members of the project we were working on. At first it was a great experience, and even better we could alternate shifts with another intern. However, as time went by the task was too
My Journey in Functional Programming at Ona
by Racheal Day one If someone told me last year I would be doing a different programming language in 2019, I would have shrugged it off. I had no prior experience with Functional Programming before I joined Ona. Yes! You heard me right, this was a completely new concept to me coming from an Object