David thinks I am the most rigid developer that has ever existed since The Big Bang. It doesn’t matter though because he’s wrong. I know a developer who is more rigid – my dad calls him Fundi. I have never known his real names but whenever we need some modifications on structures at home, he’s on call. In all the years I have known Fundi, he never has changed his tools. I don’t know whether his profession calls for this kind of rigid practice. Even professional courtesy would run off course when the tools you use no longer apply to certain tasks efficiently. Yes, I do realize Fundi is a different kind of developer.
Fundi aside, David is kinda right. I am one of those developers who believe so much in what works. I cannot explain this irregularity given the fact that I have always had itchy fingers for breaking stuff that works. Over the years I have come to limit my development environment for both hardware and software projects. I code in C/C++ and PHP almost always. I do not use IDEs for software projects and have never made any attempt at versioning or source code management. Want a website or web application? I fire up Notepad++ and get down to business with PHP. Wanna mess around with embedded systems? I fire up Notepad++ and get down to business with C or C++. The only times I have used IDEs are when working with Arduino (not a fan) and PIC microcontrollers. I use MPLAB for PICs. I was getting so comfortable till crap hit the fan.
At Makerere University I am part of an ambitious project to integrate internet laboratories into the engineering curriculum. It’s called the iLabs@MAK project, in collaboration with Obafemi-Alawale University, MIT and University of Dar es Salaam. I have been looking into rebuilding the iLabs system from scratch on open source tools. I need a tool that can communicate comfortably with USB devices and has great support for web applications. In marched Python. This coincides with my final year project which is a low cost robotic platform for engineering research and remote labs. I plan to embedded Linux running on Raspberry Pi for the core computing. So I have learnt Python…
Learning Python changed my outlook on things a lot. I have started opening up to stuff like new database systems, SSH and more recently Git. I love Git. I can’t explain the euphoria that fills my abode whenever I make a commit and a push. To know that all my changes are being logged makes me feel secure. I guess I never knew what I would feel like and would never hadn’t I tried it. Life is so much easier with Git. SSH is also changing the way I work on remote projects that don’t necessarily call for Git.
I still haven’t opened up to the idea of making my code open. Till then, Github is no place for me…