Skip to main content

Featured

Desktop Robotic Companion

 What’s up Tinker gang. I’m back with another update to my robotic experiments.  I’ve already created a pretty stable robotic companion, but now that this companion can travel, I don’t like it super close to me because of dust and dirt. I now want something near me as I’m working on my computer, and have found a pretty cool opensource project to start from.  You may know the project as Emo on YouTube, this humanoid desktop robot rotates its body and arms , as well as displays facial animations thanks to its tiny face screen. I liked the concept and wanted to play with the designs. First, I wanted to add a way for the device to have extra gpio hats. The original design tucks the computer inside the body shell but I needed room for a microphone and any other thing I wanted to add. I thought about a few possibilities, including some kind of backpack (which I still may use later) on the bot but I didn’t like my mental designs. Instead, I decided to increase the height of the base and add

Don’t reinvent the wheel



One of the first ideas my professors in computer science tried to get across to us, was that we shouldn’t spend time doing things people have already done(unless  it’s for efficiency innovation of course I.e. the reimagined airless wheel). For example if I’m programming a game that requires physics algorithms etc… before I make anything, I look to see if someone else has an open source (free shareable) implementation of it first. This way, I can just copy any parts I need without having to become a complete expert on one particular component. I build off of the expertise of others before me. 


Copy and paste are two of the most powerful operations a computer can do. Don’t waste that power. Don’t get me wrong, copying and pasting blindly is definitely not advised , but copying with a plan/integration strategy is a priceless skill. 


Copying not only forces you to read how other people write code, but also how to read technical knowledge. Usually before you can even copy code, you have to already know how it works and how you can use it. By doing this research you essentially become a student of the component and in some cases an ambassador. 


Typically developers leave comments that include their name and the purpose of the code their sharing, and when you copy, their only requirement is that you don’t remove the author info. That’s it, and you can copy and use whatever code they provide. 


Conclusion 


Unless there are clear guidelines for why you shouldn’t be copying in your codebase, consider using open sourced code. It’s faster and often times shortens the learning curve.

Comments

Popular Posts