The ICT4D Corner
Members of our tech team share insights
about technologies we use for CommCare.
Beyond 'Wrappers' - Using Querysets to Compartmentalize Business Logic into the Django ORM
The Django ORM is an invaluable tool for querying your data. However, as a generic tool, it's often not a clean fit. This article describes a technique for extending Django querysets with methods specific to your models.
December 19, 2018
‘Offline First’ Is More Than a Download Button: Principles of Offline Data Collection
Dimagi builds software products for offline data collection. Learn the fundamental principles behind remote data collection.
May 14, 2018
Migrating a Legacy Codebase to RequireJS, Part 3
April 30, 2018
Migrating a Legacy Codebase to RequireJS, Part 2
April 16, 2018
Migrating a Legacy Codebase to RequireJS
April 2, 2018
Running Calabash Integration Tests with Amazon Device Farm
Our development and QA teams put considerable effort into implementing almost our entire Android test plan in Calabash.
March 26, 2018
A Non-Coder’s Experience with Calabash-Android
Taking the time set up Calabash framework has completely changed how we handle mobile testing for the better.
March 23, 2018
Dimagi Wins Elasticsearch Cause Award
Dimagi recognized as a winner of the second annual Elastic Cause Awards.
March 12, 2018
Communicating Changes Made to Your Software Product
Keep your users in-the-know about changes. Read this guide to communication changes made to your software product.
January 23, 2018
Why we made quickcache
One of the great things about Python is how easy it is to hit the ground running.
May 11, 2017
What Every Developer Should Know About CouchDB
A little more than five years ago, I started working with CouchDB.
March 29, 2016
Scaling Code Review
At Dimagi, we write a lot of code.
February 24, 2016
Frontend testing in Django with Grunt
January 22, 2016
Love in the time of Emojis - A tale of Github emoji usage
Dimagi Engineering spends a lot of time on Github, and with that, comes lots of comments and emojis.
January 15, 2016
Debugging a thread-related test failure
Recently I've been working on adding support for using nose to run the CommCare HQ test suite.
November 25, 2015
From the (Open) Source: Introducing Dimagi’s New Tech Blog
Across all of our teams at Dimagi, we’re committed to sharing and building on top of one another’s ideas.
October 9, 2015
Towards an errorless deploy
At Dimagi, we deploy our master branch at least once a day.
October 9, 2015
How to: stream through a pipe with python
This came up when I was trying to mail out lines appended to the apache error log as they came in. The essence of what I wanted to do could be written succinctly as: tail -f logfile | python email_lines.py Where email_lines.py is essentially for l...
November 6, 2012
Git commands I use all the time for dealing with branches.
This isn't anything new, but I use these all the time so it's nice to have something to point to for git newcomers.# create a new branch and check it outgit checkout -b BRANCH # list all branches---you should prune regularly to keep the list small...
September 25, 2012
Page 1 of 4
Showing 1 - 20 of 64 articles