Over a few beers last night, I had a discussion with a friend about my issue coming up with a project. I needed some way to learn a programming language, but I am terrible at sticking with the exercises. While it is the best way for many people to learn, I am not one of them; I learn best when I have a final product in mind. Then he said something that resonated with me:
“It needs to be purely selfish if you are going to stick with it.”
This concept hit me like a ton of bricks to the face. Being of the mindset that I needed to make something that everyone could use, the thought of being selfish never occurred to me.
As he explained it, if your goal is to learn by doing, then the end result needs to be for yourself. Otherwise, you will never finish it because you have no investment in it.
With this in mind, I am starting a project and would like input from anyone who has done something similar. The idea is to use a barcode scanner (Those guns from the grocery store) to scan the items in my kitchen and create a database of what I have. I will use this to generate an inventory sheet and be able to record how much of each item I have. I know things like this already exist and that inventory software is abundant, but this is for me to learn from, not for me to have a finished product handed to me.
If anyone knows of an existing database of UPC codes or an API that is publicly available, I would greatly appreciate some direction. I am going to start this project in Python because it is the language I have the most familiarity with, but once it is complete, I intend to convert it over to Go so I can see the differences between the two languages.