Monday, 23 December 2013

Hey, I'm a Thoughtworker and #ComeHome !

During the last summer vacation from school , I got an offer to join Thoughtworks Pan-Africa in the Kampala, Uganda office. I was excited to receive such an opportunity to join this revolutionary tech company and also to travel to an East African country to learn their culture and meet new people.

Let me give you a gist about Thoughtworks Inc. Thoughtworks was founded by Roy Singham , we are a community of passionate individuals whose purpose is to revolutionize software design, creation and delivery, while advocating for positive social change. We have over 2500 employees, with 29 offices in 12 countries: Australia, Brazil, Canada, China, Ecuador, Germany, India, Singapore, South Africa, Uganda, the United Kingdom, and the United States. You can learn more about us here http://www.thoughtworks.com/about-us  Thoughtworks is a leader in Agile software development.

Thoughtworks Pan-Africa  is focused on hiring local talent to help in the design and creation of software. This is a game changer in technology here in Africa since most foreign technology companies set up marketing offices in Africa, in order to sell their products to the masses because they do not believe African techies are baked enough to help in the building of softwares.  I was enthused over this and also happy to be a part of this new tech wave here.

Working at Thoughtworks was simply amazing and I will give you a feel of my experience. Prior to joining Thoughtworks, my technology stack was mostly .net framework , VB , java , C++ , php , mysql , html , javascript but after two months of working about two different social impacting projects my technology stack , programming patterns became more advanced and my github repository is prove of that https://github.com/raindolf?tab=repositories. These are a few build tools and languages I was working with Python , Django , Ruby on rails and postgresql. TW programming patterns relies heavily on Agile and Object Oriented programming principles. This is a demo ruby OOP program i wrote with a colleague called Parking Lot.  I had a feel of Agile practices like Pair programming and Test driven development which was a bit difficult at the beginning but adapted to it quickly. Open this link to check out our Technology Radar which includes our build tools , programming languages , techniques , platforms etc The team I worked with was patient and they made me feel at home. I miss them so much. See below a few pix from Kampala :)




We have offices in Uganda and South Africa. The homeland of Osagyefo Dr. Kwame Nkrumah , Ghana is the next stop.......yaaaay! If you have a passion for technology and want to be a part of this revolution join us.We encourage more women to apply, most of our great engineers and business analysts are women. Meet our awesome Regional Director of ThoughtWorks Pan Africa Enyonam Kumahor.  We already involved in the Ghanaian community , we sponsored Women 2.1 Summit and the Start-up weekend Accra.  Okay I know i'm talking too much..Watch this awesome video and meet our awesome Pan-African team..


Finally we are inviting you to attend our #ComeHome cocktail this holiday season on Friday 27th December , 2013 @ Villa Monticello . Join Betty Enyonam Kumahor, Regional Director of ThoughtWorks Pan Africa,  to spend an evening exploring how Africans are returning home and contributing to Africa’s continued development using technology as their tool. Yours truly will be there with my fellow TWER's Uchenna Moka  and Edem Kumodzi . Join us @ ThoughtWorks Pan Africa and be a part of Africa's technology revolution Register today for this event today!

Any fool can write code that a computer can understand. Good programmers write code that humans can understand. - Martin Fowler 





Thursday, 19 December 2013

Is it my time to dropout from the university ?


I don't want to pretend that I am the only person to think of this, nor that I will be the only person trying it - but there are both good and bad reasons why I contemplate on leaving school to pursue technology full time .Hearing of the success stories of Bill Gates , Steve Jobs , Zuck and other great entrepreneurs who dropped out of college to start their companies has been my number one motivation in technology. What I always keep in mind is we are from two different worlds and you cannot take approaches that work in the West and think it will work in Africa, there will be so many failures than you can imagine.
 I'm currently in my final year in the University and the founder / lead developer of  a two year old start-up company called Oasis Websoft plus I double as an application developer at Thoughtworks Pan - Africa an agile software consultancy that aims to revolutionize the IT industry in Africa and create positive social change. 
I lost interest in theoretical computer science as opposed to practical construction of software systems after my first year in the university. Since then I've managed to balance my work with my academic activities although the ratio between work and school is 70 : 30 . I love the education process but I think ours in Ghana has been put in place to kill creativity. Each month a horde of new programmers, freshly trained out of Universities and professional ICT institutions graduate with impressive looking syllabuses, certificates ,degrees etc. claiming skills in Java, C++, C, Php, JavaScript,  COM, Oracle, SQL, HTML and MS Office. The problem is that, though the syllabus looks good and would be a good starting point for being a software and web developer, students do not spend time working on their personal projects like I do and instead code for a grade “A” in exams. 
Bottom line: We students are less than half-baked and cannot do productive work.
Those who get jobs afterwards land more technical jobs like computer administrators, hardware jobs and so on. Instead of utilizing the methodologies we learnt in programming and so on. Companies who hire us in Ghana for such job do not realize that we can actually build software to make their work a lot easy. 
I don't want to derail from the topic at hand. I spend late nights ( 11pm - 5:30am ) hiking on the internet and become oblivious of the fact that I have to be in school at 8:30am. I end up taking naps in school. Pictures of me has gone viral on campus so many times for sleeping in class. ( see below ) Just like most geeks , I hate sleeping , I feel we have slept all our life and this is the time for us to innovative and make a lot of mistakes. Is this good reason enough for me to put aside school and take on the world ? Technology waits for no man , I can't finish school before implementing all the crazy ideas I have in mind. In this context is school an obstacle ? Or should I finally dropout ?

Should I fulfil my mother's wish of graduating. If I do so , I will be the first and maybe the only son to graduate from the university in my family of eight with 6 siblings ( 3 boys & 3 girls ) Is this a good reason to stay in school this last year or just drop out once and for all ?

 I come from a society where majority of the youth enroll in the university to gain authentication ( degree ) to secure jobs in the future. Do I need papers to authenticate myself or is it my works that will vindicate my talent in technology? I have all these question running in my mind but I guess at the end of the day I will just sail through.

The first semester of Level 400 is almost over and I think I have come a long way to just drop out. Dropping out is two things. It's either success or failure - Great entrepreneurs are risk takers who have all gotten over one very significant hurdle: they are not afraid of failure. That's not to say that they rush in with reckless abandon. In fact, entrepreneurs are often successful because they are calculating and able to make the best decisions in even the worst of cases.. The decision is yours ? To all the great men in Africa who made it without a degree Kudos to you and to those like me who are passing through the system to make things right more grease to our elbows :) At the end of the day i'm a Humble programmer with a big mouth :)


Thats me in the blue African print in school this semester sharing Ideas during a class seminar. 

Wisdom is knowing what to do with what you know.
-- J. Winter Smith




Thursday, 11 July 2013

Oasis @ 2 : The journey thus far.

I launched Oasis Websoft on 11th, July 2011. Last year in July, we celebrated our first year of hard work , dedication and this is a blog post I wrote to tell our story Oasis WebSoft @ 1.

Time flies so fast and it's now been two years since we set out to create advanced software by providing superior solutions for web applications, web sites and traditional GUI/console open source software. We are committed  in building infrastructure that will ensure that the West African sub-region is not left behind in the continuous evolution of information technology.

This past year has not been an easy one but despite a lot of challenges  we have kept our eyes on the bigger picture. I hope this blog post will give you a deeper understanding on what goes on in our technology camp and will hopefully answer a lot of your questions.

Over the last year we have worked on a lot of projects spanning from building web solutions for companies in the fashion space like Frozen Jungle Clothing , Agriculture: Avicola Farms ,Transfarm Africa  , MVP Hair and technology:  Intelligent telemetry  .

In the open source and software field we have built Dr Diabetes  : A web application that allows you to know your diabetes status. We have open sourced it so you can contribute code or build codes on top of it here Diabetes - Webapp .We joined forces with other African developers to develop Africapp : Africapp is a cross platform and multicultural African App offering service. To serve the growing need of mobile users in Africa and diaspora, this service is aimed at making the developers ecosystem more viable and providing registered developers a renowned platform to showcase their apps and get paid.

Our other open source projects include African Grading Program , Dollar to Cedis Converter  , Java Stack Demo  and Linux option scripts  The reason we invest our time and resources in open source is because: When programmers can read, redistribute, and modify the source code for a piece of software, the software evolves. People improve it, people fix bugs.

In April of this year I was invited to Germany by the  Federal Ministry for Economic Cooperation and Development (BMZ) the Development Policy Forum of GIZ ( Deutsche Gesellschaft für Internationale Zusammenarbeit ) where I met with Gudrun Kopp, Parliamentarian State Secretary,Federal Ministry for economic cooperation and development, Germany.I also promoted my work via presentations , interviews ,met other techies and hubs etc. Other photos from my trip can be found here Ich Liebe Berlin
Our work at Oasis WebSoft  was presented at Re:publica Conference in Berlin , Germany. Fast forward the video below to the 20th minute for the awesome presentation on Oasis WebSoft !


Being the founder & CEO of this awesome software company has not been an easy ride since I'm still in the university. I founded this company after my first year in the university and I almost dropped out because Oasis felt like the only thing that mattered in my life ( and still does..It is my first and true love ) but I did not because this is Africa. ( if you know what I mean ) I just completed my third year in the university and I'm happy to inform everyone that I have a year more to finish the university and spend more time in the advancement of technology in Africa. I must admit that school has become my biggest obstacle due to my lack of interest in theoretical computer science as opposed to practical construction of software systems. I've opted out of so many great opportunities due to the fact that I want to win in school as much as I'm winning as the founder of Oasis.

I want to thank God for directing my ways in the decision making and all of His mercies. We at Oasis websoft want to thank everyone for your continuous support and prayers. Keep recommending our work to your family and friends. We also promise to improve Africa through software technology. Shoot me an email here raindolf [at] oasiswebsoft.com if you want to collaborate , need our service or work with us. Cheers.




Thursday, 23 May 2013

Launch of Guido Sohne's official postmortem website and my blog just turned 1 :)


Last year in March I was awarded the Guido Sohne Fellowship by Free software and Open source foundation for Africa (FOSSFA ) in Abuja , Nigeria . Today marks the birthday of the Late Guido Sohne and as the reigning Guido Sohne fellow I have built a web platform http://guidosohne.net/ that is a hub for his documentaries , conference presentations , articles / blog posts , online photos , his open source code snippets and most of his digital contributions.

Kindly open this link to view the website http://guidosohne.net/ He continues to be an inspiration to myself and other budding young software developers hoping to solve everyday African problems with technology. Check out this website and be inspired and also a big thank you to the Sohne Family for providing me with the resources !!

I started blogging last year on the 23rd of May and this was my first blog post Guido Sohne is my Role model It's amazing how fast time flies by and you don't even realize it. I've posted eleven blog posts and my favorite write up till date is Agonies of an African Programmer: Part 2  Below is my reader statistics: My blog has received exactly 6610 unique page views over the last one year and also United States of America is my biggest audience with 1644 page views. A big thank you to all my readers and please subscribe to this blog in order to be the first to read my latest blog post. I hope to blog more about my technological visions and experiences.


People enjoy the interaction on the Internet, and the feeling of belonging to a group that does something interesting: that's how some software projects are born. Linus Torvalds 

Friday, 17 May 2013

Infrastructure for E-Commerce in West Africa

It's been almost a month since my last blog post , I left for Germany  and will post a blog soon about my trip in a few weeks. This was meant to be a facebook post and felt it was too long so i decided to keep it here in my weblog.

My quest to actually build an eCommerce infrastructure in the near future to solve online payments in Ghana has forced me to start learning about Internet protocols ( IPv4,IPv6 ) , DNS , Online Security and networking etc There are a few online payments in the tech eco-system but we will love to take a shot at OasisWebSoft or might use it as my final year project in the university by building a similar solution..

Thanks to the poor and disadvantage youth who started credit card fraud and scams in the early 2000's , we ( West Africa ) have been blacklisted from online transactions. For the last three hours I've managed to configure eight virtual pc's , 5 switches with one router on Cisco Packet Tracer.. And the beauty of it was when I was able to successfully ping one of the pc's . Guess this is a good start.Will keep you updated on my progress and i'm open for collaboration. If you have any killer idea about this project , do shoot me a mail raindolf [at] oasiswebsoft.com




Tuesday, 5 March 2013

Mbali - Light off web project

Today my beloved land of birth Ghana marks it's 56th year anniversary after gaining independence and also it's the first African country to gain freedom from colonial rule.

Ghana is now going through a period known as load-shedding. This is when different electrical grids in the country are rationed with power. So one section of the country may have power from 6am-6pm, and another section from 6pm-6am. Nowadays things are much better - they just cut off electricity without any warning whatsoever or the power fluctuates crazily and the electricity corporation thinks that is entirely normal. I decided to make some technological sense from this historic moment and also hope to extract some valuable feed back/data from the citizens of Ghana through this process.Light off is a term coined by Ghanaians which means power outage.

I'm a big fan of open source technologies so i decided to back this idea with a strong tech core and the platform i chose for this project was built by Africans ( An African open source innovation ) and it's Ushahidi. It is a tool to easily crowdsource information using multiple channels, including SMS, email, Twitter and the web.

It took me about thirty minutes to set it up on my server and also about another hour to configure it to suite my needs in terms of the site info, hash tags , categories ,maps e.t.c . I must admit it felt great using a platform that was made in Africa.I call this web project >> Mbali ( Swahili word which means " off " ) .  You can kindly open this link to view the project http://mbali.oasiswebsoft.com/

A few hours after i set it up online, I've received up to 600 reports from a staggering 439 unique reporters via the twitter hash tags #ECG #LightOff  etc ( See the image below - My ushahidi report dashboard )

This means that we can gather a lot of data from online users from this uncomfortable light situation and make some logical sense out of it. This is a simple crazy idea i have in mind , you can also add up to mine and make Mbali the next big thing. Send me a mail if you want to contribute or you can report any adverse effects of this "Light off" on the Mbali platform or the twitter hash tags. iraindolf[at]gmail.com Happy Independence !!!!!



We want knowledge, we want information, we want freedom. Hinder us not and aid us if you will. But dare not call yourselves civilized while we remain where we are. "Guido Sohne"





Saturday, 2 March 2013

Where is Ghana’s Gold: In our earth or in our minds?

I've been in contact with a 16 year old student in Presec legon Senior High School who sent me a mail about a month ago that he wants to join my company OasisWebSoft as a software developer. He has taught himself css , java script  ,php,c++ and game development. I was amazed when he told me that ICT is been discourage in Senior High schools and it is an optional elective that at the end is not a part of the WASSCE exams. Apparently most lecturers advice their students not to take ICT because it will be a waste of time ( in terms of learning ) that wont even be a part of their final results.I'm wondering if this so called teachers have emails and even understand the benefits of Google, wikipedia and the internet an a whole.
Every week I receive up to 3 emails from different people who have amazing ideas but need a technical person/company to bring their ideas to life. Imagine if all these people had the skills to build the crazy ideas they have: Ghana would change rapidly technologically.Afterall no body understands your ideas like you..
I always say that if you want things to change, you can’t just sit around and wait for things to happen by themselves, you have to act so  I'm urging anyone reading this and is by any-means affiliated to GES or WAEC they should change or inquire why ICT is not a core subject.Computers don’t change human nature
ICT can catalyze and amplify real world change. There is no career in this world that doesn't have a tech back-end.Even now Kayaaye ( Stree Hawkers )  use mobile phones.The video below is two decades ahead of Ghana and i'm so sad technology is been discourage in Senior High Schools by Teachers. I'm asking again where is Ghana’s Gold: In our earth or in our minds ?


I originally wanted this article to be a post on my facebook timeline but realized it was too long so I turned it into this blog post..

You are never given a wish without also being given the
power to make it true. You may have to work for it,however.
-- R. Bach, "Messiah's Handbook :Reminders for the Advanced Soul"


Saturday, 16 February 2013

Why I love linux system programming?


Happy New Year to all my great readers and may this year bring us a lot of blessings. This is my first blog post for the year 2013 and also writing it a day after my end of semester exams. I am enthusiastic over this one month vacation I have at home , I hope to post a few more articles and see to it that we release a killer app @ Oasiswebsoft ( My software dev company ) before I resume school.

I took a break off application programming in November last year to perfect my skills in linux system programming. The main difference between the two is application programming aims to produce software which provides services to the user (e.g. Anansi Calcpad), whereas systems programming aims to produce software which provides services to the computer hardware (e.g. disk clean up).

Even if you think you're not a programmer, Linux has some features to make your life a bit easier. Any time you have a repetitive task that involves entering Linux commands or changing the contents of a file, you should think about automating it with a program in linux.I installed an old version of Ubuntu 11.10 ( It’s a linux distribution and a stable build ) and started playing around with the terminal ; doing some basic stuff like echoing the name of the terminal , writing simple addition programs , sleep , pwd and spent more time online reading  about file permissions ( Read, Write , Execute ) , appending output file ,variables , shell scripting , process structure , for loops and many interesting stuffs.

The Bash shell is your main port of entry to Linux, since the shell interprets everything you enter on the command line before passing it along to the operating system for execution. I fell in love with shell scripting because unlike java you didn't need to assign data types ( Int , float , string , char ) when declaring a variable and you do not need a terminator (semi – colon ; ) in most instances.
eg. In java :
int $num1 = 70;
in shell scripting :
num1 = 20

Often, writing a shell script is much faster than writing the equivalent code in other programming languages like java and python. The many advantages include easy program or file selection, quick start, and interactive debugging. A shell script can be used to provide sequencing and decision-making linkage around existing programs, and for moderately-sized scripts the absence of a compilation step is an advantage. Interpretive running makes it easy to write debugging code into a script and rerun it to detect and fix bugs. Non-expert users can use scripting to tailor the behavior of programs, and shell scripting provides some limited scope for multiprocessing.
We will write a simple script that will allow us to let the bash sleep for a while,  delete all the files that is starts with KLM.
STEP 1: Let’s create three files in the bash terminal
touch klm1
touch klm2
touch klm3
STEP 2: Let’s give all the three files all  permissions rights for the user, group and others.
Chmod 777 klm*
NB: * stands for all files .
To view all files with the date last edited or permission rights and details use this command ls –la (Long listing) and check if all files have all the rights.
STEP 3:
We will now write a simple program in the VI Editor to sleep for 5 seconds and afterwards delete all files.
echo “ Your text here “
Sleep 5
rm klm*
Final step is to execute this program in the main shell. To execute it use this simple command bash and the name of the file in the VI Editor.eg bash killklm

You have now created a simple shell script that automates the process of putting the shell to sleep and deleting the files that start with the word KLM. With just these few lines of code you can easily build a simple program in Linux.These are screen grubs from the simple script we wrote above in the bash terminal and the VI Editor.




Now let’s write a little complex program. This program that will have 5 options eg.
echo "SELECT A NUMBER“
(1 FOR LOVE         (2 FOR DRUGS  (3 FOR SPORTS       (4 FOR HEALTH
(5 EDUCATION  
Each option will contain a text eg. Love : feel tender affection for somebody so when a user choose is a number 1-5 it will display a text.
In the bash terminal you use the cat syntax to input append a text into a file:
Eg: cat > drugs
You will find the complete source code to a dummy program I wrote here on my github repository it contains a for loop and CASE conditions.  Unlike java I did not have to import any special packages to allow the user to input text. Enjoy!!  https://github.com/raindolf/Options-script 

If you've ever written a simple console program ,word processor macro or a spreadsheet formula, you're a programmer. By taking advantage of Linux's built-in programming features, you can automate repetitive tasks and build simple interactive applications without a degree in computer science.Send me a mail if you have any question or contribution iraindolf [at] gmail.com

"Software is like sex: it's better when it's free." Linus Torvalds