Photo Taken in Uganda

I think we can learn about abstraction and system thinking from all kinds of situations in life. For this one, we have to take a big detour.

Back in 2012 as I was traveling across East Africa I couldn’t help but notice that trees weren’t planted the way I was used to see them in Uruguay: forming a nice, tidy grid. Instead they were just scattered across the field, like following no pattern at all.

My Westerner mind couldn’t understand it, and of course I started to come up with my own explanations for it, stopping at the lazy answer that it all had to do with education. “In Uruguay of course we know how to better use the land yada yada…”. I was just another ignorant westerner passing judgement to things I didn’t even understand, ethnocentrism and all that.

Luckily for me, I found some books to school me and get rid of part of my ignorance and bias and learn a bit more about how different cultures adopt other kinds of geometrical shapes to take advantage of their land. One of those books is African Fractals, Modern Computing and Indigenous Design by Ron Eglash[2].

In that book I learnt that my biased way of looking at African countries and their culture isn’t at all new. In fact, arguments similar to mine were used by colonizers to justify why their culture was superior. Yes, you read that right. Europeans thought that using straight lines for architecture and city planning was an indication that they had a higher status compared to the people of Africa.

The politics of straight lines

Eglash’s book has a section titled “The politics of recursion”, which made me wonder how recursion could have politics? Well, take a look at this story about Development policies in Tanzania by Pat Caplan, cited by Eglash:

In Tanzania the flexibility of housing allowed women to create new homes to escape divorce, or to extend existing ones, creating a fractal architecture that gave them some freedom. Later a social plans for modernization tried to improve living conditions by imposing a certain type of house structure. This threatened women’s autonomy to escape a bad marriage and rebuild their lives somewhere else.

Haussmann straights again.

These houses were tacked along a Hausmann-style[sic] Cartesian plan with straight streets leading to amorphous squares. As the area continued to grow, each cluster of back-to-back houses had to adapt to the main street network, as laid down by the government.

This kind of city layout didn’t work for the actual lifestyle the people in this area had, so they adapted it, as Al-Sabouni explains:

Between the contiguous clusters, people opened their own thorough-fares: narrow winding paths such as a stream might carve into the hillside. Small business consisting of tiny shops and grocery stores, along with workshops for clean industries such as carpentry, tailoring and blacksmithing, were dotted in between the dwellings.

What are we missing out?

If we take a look at software’s history, we can see that technology comes and goes, but when one particular tool is in vogue, we want to solve every problem with that hammer. Not only we are doing our clients or our companies a disservice by thinking like that, but we also tend to divide the developer community into the cool ones that know what’s on, and those that are still using the old tech. Everybody loses.

Am I against adopting new tech? Of course not. I’m just arguing against elitist ways of thinking. Functional Programming vs Object Oriented Programming or non relational databases vs. relational ones… These are divisive thoughts that just put back our developers communities, instead of favoring cross pollination and diversity.

If we take the partisan glasses off, we will see that technology works more like a rhizome, where one side learns and grow with help from the other, OOP incorporates ideas from FP, NoSQL sees the need of data relations by looking at traditional DBMS. Not one abstraction fits all.

Neither fractal nor Euclidean geometries have any inherent ethical content; such meanings arise from the people who use them –– Ron Eglash


  1. Eglash, Ron. African Fractals, Modern Computing and Indigenous Design. Rutgers University Press. 2005.

Credits Co-Author of RabbitMQ in Action. Previously @Apple @VMWare @EMC. All opinions are my own.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store