Wednesday, August 22, 2018

My tech experience in Addis Ababa

This post is inspired by Abou Kone‘s interesting article.

I relate to all of the points he mentioned and I would like to describe my experience in the other side of Africa – East Africa.

At the beginning of January 2016, I started my journey from Berlin, Germany to Addis Ababa, Ethiopia (East Africa) to work remotely and give training to Addis Ababa University lecturers and graduating students on “Agile software development with Grails Framework” with a practical introduction to GitHub, TravisCI and Heroku including other project management tools.

The Good

I was happy to be home with my family and enjoying the light winter. It really feels good to be people who look like you and speak the same language. I was amazed by the 3G internet connection speed provided by Ethio Telecom. I had no trouble connecting to the company VPN.

Among the working spaces in Addis, I really like XHub ( They are friendly people and also provide good internet connection.

The Bad

I also faced the same challenge as you did.

I also got a subscription of 4GB internet for around 27 Dollars or 25 Euro/month. Although the connection was fast, it is very expensive compared to what I pay in Berlin (300GB internet for 19.99 Euro/month).

Plus, the internet connection at the university was very slow, we could not open github or Trello.

The knowledge gap is also very obvious and most people use C# or PHP programming languages as they are given as a course in colleges but they are not aware of frameworks or methodologies.

Even companies that claim using Agile (be it SCRUM or KANBAN) are not.

Some challenge I faced which is specific to training is some students were not motivated while the training is one of a kind (as it is practical and focusing on tools/technologies used by Silicon Valley companies and it was FREE).

I was amazed why the students did not show the expected interest. I guess the reasons could be:

1. It was given for free so they might assume it is not important.

2. They don’t really understand how important it is to use/follow methodologies, frameworks and tools and they just want to develop software they know how (and don’t want to learn and follow industry standards).

3. Maybe the students in my class are not a good sample to infer that there is less interest.


I really admire the initiative by Coders4Africa and as it is working on finding a solution to a real problem. I am happy to see the milestones achieved and I will be a contributor soon.

Sunday, August 7, 2016

Git: How to delete the last commit on remote

Let's say you accidentally commited a wrong commit to a branch or a commit to the wrong branch. What do you do?
Thankfully, Git allows you to delete the commit on remote.
Here is how.
 git pull origin mybranch  
 git reset HEAD^ --hard  
 git push origin-f mybranch  
More detailed info can be found here.

Friday, May 13, 2016

Grails - How to download zip manually and install using SDKMan

I tried to download the grails using SDKMan with:

 sdk install grails 2.5.4  
but it failed because of slow internet connection.

Then, I went directly to and downloaded the zip file and added it to /Users/<username>/.sdkman/archives/

To install the plugin, run 

 sdk install grails 2.5.4  


To see if the plugin is installed,

 sdk list grails  

Friday, April 15, 2016

How to convert Geez-1 font to Unicode

  1. Download the mapping files that were created for converting data to Unicode from Download "" and extract the zip file
  2. Download TECkit which is a low-level toolkit intended to be used by other applications that need to perform encoding conversions from for the platform/operating system you have and install it. You can find the installation notes from the same link.
  3. Go to command line/terminal/command prompt and follow instructions from Download "TECkitversion2_doc_pdf.pdf"

What I did is, I extracted the mapping files in 'Desktop' and put the file with Geez-1 font (to be converted) in 'Desktop' as well. Then, I run the following command in terminal.

txtconv -t Ge\'ez-1.tec -i ToBeConverted.doc -o Converted.txt

Note: I have seen that converting .doc (word documents) works better than .txt (plain text files).

Multiple datasource in Grails Services with SQL

Friday, July 10, 2015

How to debug Grails version greater than 2.4.4 in Intellij

Add the following to VM Options of the run configurations (locate the installation of grails)        

Tuesday, March 17, 2015

Solved: MySQL Issue Connection using old (pre-4.1.1) authentication protocol refused.

The following error occured when run `mysql` from the terminal to connect to a server.

mysqldump: Got error: 2049: Connection using old (pre-4.1.1) authentication protocol refused (client option 'secure_auth' enabled) when trying to connect
ERROR 2049 (HY000): Connection using old (pre-4.1.1) authentication protocol refused (client option 'secure_auth' enabled)

Add `--skip-secure-auth` to the end of the statement

mysql -h HostName -u UserName -pPassword DbName --skip-secure-auth