Book Review: Building Evolutionary Architectures

Over the past little while, I have increasingly found myself having the responsibility in making and advising on technology architectural decisions for various organisations. When working on small and simple use-cases, these decisions are normally about the technology stack of a single application and the structure of that application. But when working within larger enterprises, complexity changes the scope of the decision making from one application to multiple systems interacting with each other.

Continue reading “Book Review: Building Evolutionary Architectures”

Presentational & Container Components in Angular

In organizing increasingly complex software systems, one normally breaks the complexity down into smaller, more manageable and maintainable units. Within the object-oriented programming paradigm, large classes and methods are refactored into smaller methods and classes to reveal intention to developers, making it easier to understand and make changes. Within a functional paradigm, larger functions can be broken down into smaller functions that ‘do one thing’.

Continue reading “Presentational & Container Components in Angular”

Of Glory & Tongue

The heavens declare the glory of God, and the sky above proclaims his handiwork.
Day to day pours out speech, and night to night reveals knowledge.
There is no speech, nor are there words, whose voice is not heard.
Their voice goes out through all the earth, and their words to the end of the world.
In them he has set a tent for the sun, which comes out like a bridegroom leaving his chamber, and, like a strong man, runs its course with joy.
Its rising is from the end of the heavens, and its circuit to the end of them, and there is nothing hidden from its heat.

Continue reading “Of Glory & Tongue”

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.

Continue reading “Synchronization with Domain Models in Angular Applications”

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.

Continue reading “Domain Modelling in Angular Applications”

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.

Continue reading “Inversion of Control with React Native Components”


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.

Continue reading “En-courage-ment”

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.

Continue reading “Testing React (& Native) Components”