Synchronization with Domain Models in Angular Applications

On the plateaus of Ethiopia is where coffee was first grown. From there, Arab traders took the plant and started cultivating it in the Middle East. Yemen is where it is now believed they started drinking it. From the Middle East, it spread to different parts of North Africa, and to the rest of the world. Today, coffee is grown in many places around the world, and through it, many families in Africa get their livelihood. Both small-scale family farms as well as large scale commercial establishments cultivate this crop…

Keep reading

Domain Modelling in Angular Applications

There is a Ugandan story told of a traveller who went to a faraway land. Upon reaching his destination, he found great difficulty because he didn't know the local language of the place he found himself in. Despite this, he attempted exploring and getting to know more of the place. He comes across a big house, and marveling at the house, asks a lady passing by, "Who owns this house?", to which she responds "Angazi". Later, while walking on the road he sees a beautiful car parked on the side…

Keep reading

Inversion of Control with React Native Components

On 26 December 1945, the CFA Franc, a currency still used by many former French colonies in Africa, was created. At the time, after World War 2, the French Franc (the one actually used in France and previously used in the colonies) had been devalued to maintain a fixed exchange rate against the dollar, and France, in its gracious and loving paternity, didn't want the exports from its colonies to receive a lower value, reducing the amount of money available in the colonial economy. This new currency had a fixed…

Keep reading

En-courage-ment

Software development is hard. And getting good at it is even harder. One regularly reads about the latest and greatest technology one has to know about, or the latest greatest technique that one has to adopt, or they are to be seen as 'doing it all wrong'. Continuously up-skilling oneself with a deeper knowledge of current tools, languages and techniques, while at the same time learning new ones is quite a daunting task. When moving this blog over to Ghost and reading through older entries, I came across a post…

Keep reading

Testing React (& Native) Components

React is big. Really big. It is the web framework that you need to be doing right now. It was the Ruby on Rails of 2016. You had to be doing it with a double mocha. And a beard. And a comb-over. Unless you're black. Or a woman. Or sane. Then maybe not a comb-over. The component based approach of React is really great. The idea of building these small components that do one thing, and do it well, and using these as building blocks of a larger app. Really…

Keep reading

Pairing vs Pull Request Reviews

Some like them. Some hate them. But code reviews are a good thing. Some may think they are demigods who fart out perfect code, and therefore think them irrelevant. Others think they are absolutely terrible and don't want to be openly found out, and are therefore scared of them. But they are good. For one, they provide knowledge transfer. Firstly, knowledge of what someone did. It gives another developer in a team an understanding of how a feature or requirement was implemented, incase the original developer gets stuck in an…

Keep reading

ECMA Specification Safari: Increment (and Decrement) Operators

Recently, I’ve started reading through the ECMA Script (JavaScript) specification to get a more in depth understanding of the language I seem to be using every day. There are some interesting things I am coming across. Today’s interesting thing is increment and decrement operators. There are two ways of incrementing a variable (decrementing the variable works in the same way): putting the increment operator before or after the variable. var prefixIncrementVariable = "4" var postfixIncrementVariable = "4" ++ prefixIncrementVariable // returns 5 postfixIncrementVariable ++ // returns 4 What both operators do is convert the…

Keep reading