Tech - August 11, 2016

Thanks for Attending the Python Expose at the Python Nairobi Meetup

A special thanks to everyone who attended the Python Expose at the Python Nairobi Meetup. The 4 hour session that took place at Ona’s Nairobi office had presentations from Dickson Ukang’a, Co-founder and Director of Engineering at Ona, Vitalis Shisoka, Software Developer at Echo-Mobile and Edoardo Biraghi, Director of Software Development at BRCK. The speakers kept the crowd

Read More

Tech - April 21, 2016

Working with Data in the Unix Shell

I recently gave a talk at a data science meetup organized by the good people at iHub Research, on using Unix shell tools to work with data. It was primarily a hands-on workshop, but the slides I prepared may be useful to those who couldn’t make it. You can find the presentation embedded below.

Read More

Press - April 08, 2016

OpenSRP Nairobi technology sprint, take two!

In mid-March, Ona hosted the second OpenSRP engineering sprint, bringing engineers from around the world to Ona’s Nairobi office. Engineering partners from SID (Indonesia), mPower (Bangladesh), IHS (Pakistan), OpenMRS, ThoughtWorks and Jembi (South Africa) joined the sprint to enhance the user experience and performance of OpenSRP, an mHealth platform that empowers frontline health workers in developing countries to deliver more effective healthcare. Ona is the technology lead

Read More

Press - February 12, 2016

Writing Python Code to Decide an Election

The long awaited video from Ona’s keynote presentation at PyConZA 2014. A while back Ona was given three weeks to write the software that will tally votes in the Libyan elections and decide who wins and who loses. This is not something we could get wrong. We combined agile development with best practices in testing

Read More

Tech - February 07, 2016

Automating Style In Clojure

We do everything we can to improve code quality. Our process includes rigorous code reviews focused on getting the correct level of abstraction, modularity, and reusability. We quickly realized that nitpicking code format and line length was distracting us from our goals. It isn’t that those aspects aren’t important, but that they should be standardized

Read More

Tech - February 02, 2016

Squashing Commits with an Interactive Git Rebase

There are plenty of reasons to get familiar with and start using git’s interactive rebase. You might want to edit a commit message, delete commits, reorder commits, or edit commits. Here we will talk about using it to “squash” (as in combine, merge, or meld) multiple commits into a single commit. In our specific use case,

Read More

Tech - December 04, 2015

Clojure Destructuring Gotcha!

Given the following function definition, what would you expect to happen if you ran (hello :person nil)? (defn hello [& {:keys [person] :or {person "Rich"}}] (str "Hello, " person)) (hello) => "Hello, Rich" (hello :person "Hickey") => "Hello, Hickey" (hello :person nil) => "Hello, " I’d have expected (hello :person nil) to have the same result as calling (hello),

Read More

Tech - August 21, 2015

Nairobi Functional Programming Meetup 3

On Wednesday, we had the pleasure of hosting the third Nairobi Functional Programming Meetup, with Larry Weya giving a brief introduction to Erlang & Elixir, and sharing his experience using the platform as part of the team behind eCitizen. In what is emerging as a pattern, the post-talk conversations were as illuminating as the talk itself. We’re planning a hands-on workshop for

Read More

Resources - June 02, 2015

Introducing three open source libraries for working with Ona and data

We are proud to announce preview releases for three Clojure/ClojureScript open source software libraries: Hatti, Milia, and Zebra Lite. We are actively working on and improving these libraries for use in our own software and by others. In alphabetical order the contributors to these libraries are geoffreymuchai, pld, prabhasp, royrutto, ukanga, and wilo99. We will followup on this post with additional tutorials and introductions

Read More

Work - May 30, 2015

Making Ona reliable and resilient

Last year, we experienced a few small periods of downtime. We made changes to bring this up to 99.8% API uptime in 2015. However, the remaining 0.2% bothered our engineering team, so after additional work, we recently hit a rewarding milestone: 30+ days of 100% uptime on our API and front-end site! The first big

Read More

1 2 3 4 5 6