Not BYOD, but BYOS: Learning by building

technology learning github tutorials

Not Bring Your Own Device, but Build Your Own Software 😅.

I love guides like these. You can learn so much from building something with your own hands. You discover details that can only be learned through experience, not just from reading a book. This is also why practical courses are so valuable; they help bridge the gap between theory and real-world application.

The main challenge, of course, is finding the time. For me, the best approach is to work on something that helps me in my daily life. That way, I can more easily justify the time spent.

I recently came across a fantastic repository on GitHub that is a great resource for this kind of learning: Build your own X. The project’s philosophy is captured perfectly by a quote from Richard Feynman:

What I cannot create, I do not understand.

The repository is a compilation of well-written, step-by-step guides for re-creating our favourite technologies from scratch. The list of project categories is impressive, and each one contains many different projects to build:

  • 3D Renderer
  • Augmented Reality
  • BitTorrent Client
  • Blockchain / Cryptocurrency
  • Bot
  • Command-Line Tool
  • Database
  • Docker
  • Emulator / Virtual Machine
  • Front-end Framework / Library
  • Game
  • Git
  • Network Stack
  • Neural Network
  • Operating System
  • Physics Engine
  • Programming Language
  • Regex Engine
  • Search Engine
  • Shell
  • Template Engine
  • Text Editor
  • Visual Recognition System
  • Voxel Engine
  • Web Browser
  • Web Server
  • Uncategorized

It is an excellent resource for anyone looking to deepen their technical understanding.

Another good resource is this substack newsletter: [coding challenges](https://open.substack.com/pub/coding challenges), from John Crickett. It is a weekly challenge to level up your coding skills, giving you knowledge in the inside workings of software tools you normally use without thinking.


View this page on GitHub.