Lesedi Ramahobo     About     Tags     Apps     Feed



As software developers, we spend most our time working out various glitches in our code. The job requires a lot of problem solving. Even before we write any code, the first challenge is to think about how error-prone our first attempt will be. If you are any kind of a developer, this will prompt you to start looking for an alternative approach. Shortly you will again start to contemplate how error-prone that new approach may also be.

Next you think, "there must be a better way to write this program". Which you will soon find out after spending some keyboard strokes searching through Google. You find someone has written a Gist on how to install Nginx on an Ubuntu instance. Happy day. Until you look at it closely at the elegance and the complexity and wonder "This code is quite good, so elegant in fact, if an error would occur, will I be able to deal with it?". Moments later, you finally find the courage to dive in.

That is the basic cycle we go through in our jobs as developers. We can always find that someone has already written what we need to implement. We go on GitHub and think how we will eventually have to sample someone else's code and use it in our projects. After all, that's in the whole spirit of having an 'Open Source' community.

When the Germans first launched the V-2 rockets during the Second World War, it was technology miles ahead of the competition. The Americans and the Soviets knew they had to borrow some of that technology, if not all of it.

So we spend most of our time checking for errors that we even forget to check the ones we have in real life. We swarm our computer monitors, locked in our rooms, convinced what we are coding will justify the end. Most times it is true. But the more time I spent closed within my safe bubble, the more life reared its ugly head. As a result, my relationship with my then girlfriend began to slowly deteriorate as we began to drift in communication. I was so busy writing lines of code and performing error checks that I even forgot to check on my own flaws. We can choose to hide behind our computers. But eventually life will pass us by.

"If you wait long enough, everything will change" - Carl Sagan

Read more

Introducing Android Instant Apps

#android #news

Last year, Google announced Android Instant Apps at its annual developer meeting. Limited access was only given to a few developers who signed up for an early preview. Instead of downloading and installing an app from the Play Store, Instant Apps allows developers to make their apps launch when a user clicks on a web link from their mobile browser.

This morning I received an email from Google announcing they will start testing Instant Apps for the first time. They also encourage developers to have their apps ready to take advantage of the new feature.

I thought I should make a post to give a quick rundown of the basic steps to follow to help you make sure your app is ready for Instant Apps.

Reduce App's APK size

To improve user experience and to make sure Instant Apps run smoothly for your user, unload some of the unnecessary bulk from your app. Try removing unnecessary permissions, unused components and unneeded third-party dependencies, and libraries.

Support URL-based navigation

Make sure all your website URL navigation implement Digital Asset Links.

Refactor your app, if necessary

Each module of your app needs to be reachable through a URL address. Therefore, each module needs to run independently in response to URL navigation. This gives a fast and responsive experience within a flow and additional modules are downloaded only when the user switches flows.

While you refactor your code, keep in mind some functionality available in installed apps won’t be available in instant apps.

Read more



My girlfriend of 3 years broke up with me because she stumbled across this Facebook post she shared on her wall. Someone had written a detailed long post about how they found the love of their life after coming from a breakup which nearly made them ‘give up on love’.

The Facebook post starts-off with the writer recalling how she broke up with her boyfriend at the time. She cites ‘distance’ as the main reason for the breakup. Basically the Facebook post is about how the breakup led to the finding of her prince charming whom she ended up having his kids and living happily ever after.

The post came to my girlfriend's attention mid-winter (It came to my attention recently), as rotten luck would have it, it was about the same time the two of us were having a bit of ‘distance’ in our relationship for the first time in 3 years for one reason or another but mainly because of financial challenges I was facing during that time. Even though I never cheated or never stopped loving her, to my lack of awareness of the situation, we gradually drifted in communication as life reared its ugly head.

I imagine as she was reading this Facebook post, in her mind it sounded closely familiar to what our relationship was going through at the time. She felt she could relate with this person’s ordeals - she felt the 'distance'.

Long story short, the Facebook post compelled her to leave me for another guy. Instead of reconciling our relationship, she choose to be persuaded by the writer’s words and throw away years of us being together. Instead of going the distance, she choose to pack up and leave. What a world.

I’ve always found writing to be therapeutic as I’m currently struggling to come to terms with the loss of a departed loved one. I also find it strange being a victim of an aberration - the guy in the story who causes the breakup which ultimately leads her to find her ’true’ love. I was simply the conduit who will be remembered as the ex who occupied 3 years of her life before she found prince charming.

My attempts to reach out and reconcile our love have fallen face-first. She no longer has ears or eyes for me. She now only sees me as a preordained obstacle that needed to be overcome on her journey of finding prince charming. I was simply a steppingstone. I’m left powerless and an overwhelming feeling of hopelessness.

Betrayal is another emotion cooking inside of me. She has walked away from a 3 year long relationship without a pause to mend the communication lines - is how I feel betrayed. Its like she was looking for an exit out, and now she found ‘one’ - she slams the door in my face without ever looking behind or saying bye.

I hope none of my readers ever get to experience the pain of losing someone they love. I will not go into it but the pain of a wounded heart is like nothing I’ve ever experienced before in my life. I truly hope she finds happiness. I will conclude this heart-sinking post with one of my favorite quote that has helped me get over such a trying phase of my life.

‘Happiness can be found even in the darkest of times if one only remembers to turn on the light.’ - Dumbledore (Harry Potter and The Prisoner Of Azkaban) :)

If you liked this post, you can share it with your followers or follow me on Twitter!

Read more

The State of Tech Blogging in Botswana and Africa


An influx of online readers in Africa each year are coming into the fold and Google has a neat tool to visualize this data. As a fan of blogging and a reader who prefers the gaming/tech/science sections, I've been keeping an eye on how many science publications occur in Botswana compared to other nations.

Last year

Vs this year

An interesting comparison on how RSA and Nigeria have shown a remarkable increase in the number of Science and Technology publications from a year ago (more than 2-fold). This comes ahead of Botswana hosting the 2016 edition of Innovation Prize for Africa (IPA). Its no coincidence that the two countries with the highest publications are also the two largest developing countries in Africa. This could be the smoking gun which should alarm other African leaders to focus more in science and technology or risk being left behind in the tech revolution.


If you liked this post, you can share it with your followers or follow me on Twitter!