Knowledge vs. Skill (Theory vs. Practice)
Knowledge is what you know theoretically. It is a conceptual understanding. Knowledge is the bridge between observation and action. The better your absorb the patterns you see, the better you will do in literally everything.
Skill is being able to apply your knowledge into something useful, something practical.
Knowledge vs. Skill
When you read about philosophy or more of the social sciences, I would argue that these things are more knowledge.
Engineering teaches more skills. Actually, skill is harder to teach, to some extent.
Knowing the principles of bricks and cement (theory) does not mean that you can build a grand palace.
From Visual SLAM book: “In SLAM, we believe that engineering implementation and understanding of algorithm principles should be at least the same important.
- The algorithms are like blocks in the building. We can discuss their properties clearly, but just understanding the basic units will not enable you to build an entire building.
I think justifying practical knowledge is obvious. But what about practical -> theory direction? Do you even need to know the principles?
- Yes, because, else you don’t really know how to get started even
Ideas related to Foundational Knowledge.
Understanding vs. Doing
There is also my page on Learning vs. Having the Impression of Learning.
This is the idea that it takes a lot of time to do understand something. Like you can plug and play a Neural Net, even if you don’t understand it at all.
You can still achieve some really exceptional results.
Andrej Karpathy keeps saying, the single source of truth is the code itself. Unless you know how to write the code, you don’t truly understand.
- I also recently realized that unless you can really explain something to someone, then you don’t really understand.
But on the other side, you don’t have time to understand everything. You only have a finite time on Earth, and you want to spend more time doing.
Understanding is extremely important if you get stuck, if you run into problems. Also, as you run a YouTube channel, you need to be explain to others what you are doing.
- But I mean, you don’t really need to explain every single detail, the audience doesn’t really care about that, they just want to see it work.
- If you really want to understand how the brain works, you should build a brain
- You don’t really understand how a car works unless you build one, and really understand what is going on under the hood
Building from scratch / Using Boilerplate
Also see Personal Project where I share some of my thoughts on the topic.
I’ve always hated building something from scratch if something already exists out there. The problem is, 99% of things already exists out there. What doesn’t exist out there is the combination of certain ideas.
The whole point of courses is to build Intuition. This is why I am going to focus more on building from scratch, because if I don’t have the intuition, and just use some libraries, when I get stuck. It also looks better on YouTube if I create the thing from scratch, rather than just plug and play libraries
- Although people also mostly care about the end result of the new thing
I think it depends on the use case. Like Shane Wighton writes from scratch because there are no libraries out there to solve the problems he is solving. And it’s actually cool. Else, it’s not useful, it’s a waste of time.
Unless you want to focus on get a conceptual understanding.
Building from scratch reading Research Paper
I really enjoyed this conversation: I basically felt like I was cheating, if I didn’t actually use the original research paper.
- Reading simplified articles isn’t cheating; it’s a step in the learning process.
- For implementing SLAM, reading a textbook offers a broader context and more explanation, while the original ORB-SLAM paper gives precise, foundational knowledge. Start with the textbook for context, then read the paper for specificity.
In summary, both resources are valuable but serve different needs. The textbook will give you a well-rounded understanding, while the original paper will provide exact details and potential optimizations specific to ORB-SLAM. Combining both will likely give you the best preparation for implementing SLAM.