Skip to main content

Featured

I built An Offline ChatBot Companion Raspberry Pi Robot

  This post also has a  YouTube version. Meet Katherine my personalized offline conversational companion chatbot, which can answer questions, give facts on anything, and can remember and comprehend.  I made this chatbot without any large language models. So no-GPT essentially. After years of working on my own conversational software as a hobby, I finally have a prototype I can use to demonstrate. This is Katherine my offline chatbot. I named it after Katherine Johnson - A human computer that worked for NASA. Katherine is powered by my own python code , some public libraries, and local files. I’ve spent a few years learning different strategies for closed looped conversational system. Thanks to Katherine here, I think I’m on the right track. Why did I make Katherine?  Well aside from having my own personalized chatbot, l wanted to be able to have a companion robot that I could talk to no matter the situation. Whether it be a Power outage, or a camping trip, my compani...

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