After the Sanitation Hackathon one of the key lessons learnt was that the coders had scant knowledge of source code repositories. Learning how to checkout, commit and merge are skills that weren’t covered in detail during my own time at university, but were very valuable once hitting the world. In Dar code was shared through USB pens, version control was through separate folders, if at all. Kinu and TanzICT (two great technology incubators) invited me to stick on a developer hat and do a code repository Mobile Monday workshop – MoMo is about fostering cooperation and innovation between developers globally.
Github in my opinion is the best repository on the internet because of the awesome tools, cost for open source projects (free!) and using Git as the entry point. Also the documentation, is thorough with step by step guides taking you from being a novice to a git ninja.
The workshop was divided into two sections with a break in the middle. In the first section a straw poll was conducted to get an idea of the operating systems in the room. It was about 2/3 Windows to 1/3 Linux. This was followed by an introduction to source code management and a conceptual overview of the process of committing and pulling code. Everyone started to download the appropriate software to their computer and install the .NET framework! Break time.
Coming back after learning some new things about the attendees (like ice cream and favourite drinks) we started to go through the git lifecycle. We followed the help.github.com notes to setup and created a repository called “Kinutest” to get social and collaborate. After starting with the basics of committing and pulling, collaboratively code started to get generated. Issues were encountered with merging branches. This kicked off a discussion on merging using Nvie’s model for development. After 3 hours of frantic work and many learning experiences we ended up with some collaborately written README.md files and two PHP files!
Obviously this is only the start of the process. Going really deep into Git is something that can’t be covered in 3-4 hour session, it’s always a constantly evolving and learning process. The crowd were excellent, however at times they would just use their exuberance and charge on ahead. This in itself isn’t a bad thing, however can be challenging on trying to keep the entire group together on a task. But hopefully provides an introduction into code repositories. Did someone mention unit testing…?
Written and submitted from KINU Innovation Space, Dar Es Salaam (-6.77802,39.26721)