2 min read

Hardware as a Foundation.

Hardware as a Foundation.
Photo by Alexandre Debiève / Unsplash

Recently, I've found that many people find it difficult to get started with self-hosting. I believed it was best to just jump in and see how it goes for you.

I now realize that without any prior (hardware/software) knowledge to base this sort of specialized hobby on, it becomes hard to consume and maintain new information.

I mean, seriously, try to explain the difference between containerization and virtualization to a rookie.

Thinking about it now, jumping into self-hosting, Linux administration, or hacking without knowing anything about hardware is sort of like opening a novel midway through the story. I mean, sure, you'll be able to eventually get a sense of what the book is about, but it's obviously best to go to the beginning of the book and read it through.

No, I'm not saying there is a perfect starting point when it comes to this stuff. In my opinion, understanding a bit about hardware is a decent start.

Specifically, you should try to understand how hardware works before trying every single Linux distribution you hear about. Doing this will fragment your skillset and make you mediocre, at best.


It’s Not Helpful if You Don’t Understand Why What You’re Doing Is Working.

I'm not saying you absolutely need to become a hardware expert, per se, but you probably know what hardware is in your machine.

Figure out how to take it apart. Find out why certain things are the way that they are.

Better yet, try to get a "feel" of how good your hardware is. What can your hardware handle? Can it play games? Can it do workstation tasks? What is your build good at? What is it lacking/bad at?

Especially for server tasks, you likely need:

  • Good amount of Memory. (RAM)
  • A half-decent CPU. (Multithreaded for handling multiple applications at once)
  • Decent networking.

I couldn't tell you what would work best for your setup. Everyone has different needs and access to different hardware.

Side note: You don't need to figure out how the low-level programming works. (I don't understand it one bit.)


Just figure out how to build a PC and learn how powerful hardware can be. Figure out how to use the BIOS, and from there, you will create a solid foundation to learn from.

Hardware is the very core of anything software or OS-related.

If you already know a bit about the bottom of the iceberg, you can fill in the gaps better as your skills improve.