Last updated on November 13, 2019
One of the most exciting things I’ve come to enjoy in the world of software engineering is getting to know and work with people who are lightyears more intelligent than me. It is equal parts humbling and motivating. Inundated with war stories from a time when Information Technology could well have been confused with an Arts & Crafts class; with the tedious process of making punch cards critical to inputting commands onto the computer to process, to everyone’s favorite power outage and/or help desk story.
Information Technology as a whole is a fairly unique industry in that there is such a unique path that each individual takes to get to where they are today. You could be on a relatively small engineering team with 10 other engineers with completely different backgrounds. I was on a team where we had one Ph. D, three Master Degrees, three Community College degrees, two with various industry certifications, and one with a High School Diploma. Aside from the Ph. D, the rest of the team was all paid the same. Your place in the industry is informed by what you know and your ability to put in the work. That’s it.
But here is the cold truth about IT: no one will do it for you. The IT industry is a group of professional individuals working together, but learning on their own. You’ll be welcomed with open arms on forums, you’ll get really good at Googling, learn to love HOWTOs, and invest in yourself with textbooks and online classes. But the rest is on you, you won’t be shown how to just do it – you need to fail. You need to fail again, and again until you learn how to fail-forward. Only then will you begin to grow as an engineer and earn the title, regardless of the degree you have.
Why You Need a Home Lab
Building your own Home Lab is incredibly rewarding. You’ll be able to regain ownership of your personal data and know for certain who has access to your data, on your terms, but also directly make the world better by reducing the amount of e-waste produced each year.
Aside from feeling good about being environmentally conscious by building a Home Lab, the real fun is in how you learn. By learning how to install/configure your home network to backing up all of your old VHS tapes to a home streaming service for you to view in the privacy of your own home – the possibilities are virtually endless.
Though the reason that I built my Home Lab was not remotely motivated by the environment in any way – I’m happy to report that by simply learning new systems like Linux I was (and we all can) able to resurrect old systems to be used like new.
Furthermore, for the more ambitious, you can develop things like a solar panel array to further reduce your day-to-day power consumption and carbon footprint. A project like that would be completely unavailable to implement if your data was all ‘in the cloud’ at Google Data Centers.
Reduced e-Waste Production
Once I began to learn Linux it was evident very quickly that I’d be able to bring some old hardware I’d been collecting back to life – and for the better. To this day I’m using a 16-year-old HP Compaq nx9010 running CrunchBangPLUSPLUS Linux as a test machine for leveling-up on my Linux CLI skills and Bash Scripting. I can connect to the internet and search online, program scripts, etc. It functions perfectly for what I need it for.
Now I won’t be able to play any current games or overclock the CPU for amazing results, no. But what I’ve done is keep one fewer laptop out of the landfills and have given it an actual purpose. The US produces over 9.40 million tons of e-waste a year with nearly 80% of all global e-waste disposed of overseas, in countries like China, India, Pakistan, Vietnam, and the Philippines.
This has lead to a steep increase in pulmonary and cardiovascular diseases of people in these countries. Increased disease is due to the improper recycling methods leading to raw exposure to toxic chemicals.
Smaller Carbon Footprint
The sheer size of the Carbon Footprint produced to make a single desktop computer (with monitor) is astounding. A typical consumer-level mid-range laptop is produced in China which cuts down on labor costs for U.S. companies. Anywhere from 40-60% of the raw materials needed for computer production is sourced within China, leaving the remaining materials to be imported from the developer directly (Apple, Google, Microsoft, etc.).
The completed computer is shipped on a cargo ship across the ocean and then distributed across every corner of the United States. If you’re lucky enough to live in a state that has an e-waste recycling program (only 26 states as of 09/17/2018), that computer travels on a cargo ship back to China or to India, Pakistan, or the Philippines to be disposed of. That usually means mass landfills that crush the toxic remains into the local water sources, and whatever is left is burned in mass fire pits.
It should come as no surprise that over a single computer’s lifecycle will consume 530 pounds of fossil fuel, 48 pounds of chemicals, and 1.5 tons of water to manufacture and dispose. By simply saving and repurposing my 16 year old laptop I’ve stopped the cycle.
Less Overall Energy Consumption
Today’s dependence on the convenience of ‘cloud computing’ is having a huge strain on the power grid, and we’ve started questioning what the overall long-term scalability is of the cloud is. A mid-sized data center consumes as much water as 100 acres of almond trees. See below for more staggering statistics.
The power needed for these thousands of servers running 24/7 combined with general consumer devices continues to be a huge problem as well. Newer data centers like Google and Microsoft have engineered environmentally friendly solutions by leveraging hydro-electric power and passive cooling systems moving to more northern-American locations, but that only affects small percentage of data centers currently in use.
By building a Home Lab, you’re able to take that overall strain out of the data centers and into your home. But wait, why would you want to have to pay for energy usage now? Well, because now when you’re done using your server/computer you can turn it off. Something you can’t (and they don’t) do at the data center.
Personal Technical Development
Knowing that a Home Lab can help limit the amount of e-waste and be less of an overall strain on our power grid is great, but the real fun of a Home Lab is how it forces you to develop new technical skills and provides a more fundamental understanding of each layer of the OSI model.
You begin to learn right away which skills you lack, which is a great opportunity to become a more well-rounded engineer or better-educated home consumer by learning the “full-stack”.
Low Stakes Sandbox
When I developed my first server there was an overwhelming sense of excitement because now I had a dedicated place to play without worry of wrecking anything important or damaging any valuable data (family photos, movies, etc.). I was able to install random software which looked/sounded cool but I may not have fully understood. This allowed me a safe place to install and test that software and learn how to manage and understand the configuration files.
It also allowed me to test ideas to see if what I was learning about via textbook could be put into practice, or if I had an “I wonder if..” idea I could simply reconfigure my server and try it. I’ve literally lost count how many times I’ve reformatted my hard drives because I’ve done something ‘wrong’, but each time that’s happened I’ve gained value by knowing exactly how the system functions or reacts – all without risk to my home data.
By building a Home Lab you are now in charge, it’s your responsibility to set up your network to be secure and reliable. I had only a basic understanding of my home network before having a Home Lab, in that I bought an Orbi Wireless Router, plugged it in and thought I was done. Technically I could have stopped there, the network worked as it should but I had no idea how it was working. That’s when I bought two network switches and separated my network into two independent networks: “Home” and “Work”.
I’ve gained an understanding and knowledge by building a home network that is more secure and efficient than before. Nothing can connect to my home network that I don’t know about, our stream devices never lag or buffer, and I know where every bit is going and more importantly not going.
Personal Project Heaven
One aspect of building a Home Lab that I didn’t think I would be drawn to is being able to dive into a new project at-will. For example, I had no idea exactly what NetData was or how it worked – I just knew it was cool. So I downloaded it and learned how to install and configure it on my home server. Now I have real-time monitoring over every hardware aspect of my servers.
I hated seeing Ads (so does my wife) while researching online, so I bought a Raspberry Pi and made a Pi-Hole which is running in front of my home router. Now we literally don’t get any online Ads, ever. One of the projects I’m currently working on at the time of publishing is building a NextCloud server, which is an Open Source alternative to Google Drive. Once it’s built, I’ll be able to upload all of our family photos, movies, etc. to our private server to be viewed and enjoyed instead of collecting dust in a bin of old drives in my closet.
By being able to store my personal data on a dedicated server I can free up terabytes of data and effectively give me free hard drives to use as I please – it’s a win/win for everyone involved.
If saving the environment and leveling up your personal computing skills isn’t enough for you, preparing yourself for the future should help motivate you to build yourself a Home Lab. With new technologies like Home Automation and IoT devices becoming more commonplace you’ll want to know how to optimize your home network to mitigate all of the network traffic.
What about newer technologies like Artificial Intelligence, Blockchain, and Cryptocurrency? These technologies and their concepts may seem like an entirely different world to you that’s confusing and frightening, but with a Home Lab, you’ll be able to dive in to these new technologies, dissect them, and see exactly how they work and how you can better harness their potential.
Regain Data Ownership
At one time I was a huge Google advocate, I loved their motto of “do no evil” when they first established themselves. They seemed like the righteous do-gooders within a tech world that seemed morally bankrupt. Unfortunately, we’ve learned that most (if not all) of the big tech companies, Google included, mine and sell your data. Your mobile devices are the biggest offenders, sending back exactly where you are, what is being sent and received, and innumerable other data to service providers and then sent on to the highest bidder.
But here is the thing, you don’t need to be a computer scientist to enjoy the same conveniences that Google and the like provide, you just need time and patience. For example, instead of storing all of my documents and photos with Google Drive or DropBox, I set up my own private NextCloud server which is hosted in the privacy of my own home. I know where my data physically is, who has access to it and when. I now control my data and digital footprint.
Don’t want your search history and data to be monitored by your ISP to provide targeted ads? No problem – I built my own VPN and Ad-Blocker using an old 9-year-old blade server that someone was selling for $40. That’s one less item adding to the e-waste pile which is used to mask my internet activity from my ISP while simultaneously blocking unwanted ads.
That’s the beauty of a Home Lab combined with Open Source technology – it’s all available to you now via online tutorials. Technology has evolved enough that you can have your cake and eat it too.
Prepare for web3
I’m sure we’ve all heard the term Web 2.0 by now, which really referred to a philosophical paradigm shift with the advent of Social Media and Cloud Computing, not necessarily in the underlying technology being used. But with Web3 we’re referring to entirely new technology: Blockchain. Specifically, web3 is a collection of libraries that allow you to interact with a local or remote ethereum node, using an HTTP or IPC connection.
If “Web 2.0” changed the way in which we interact with the web and with each other, web3 has the potential to revolutionize agreements and value exchange. Imagine a world where you walk into a grocery store, scan a QR code on an apple to see its entire journey to the store. From where the seeds were sourced for the orchard, which orchard the apple came from when it was harvested, who harvested it, where it was processed (if at all), and when it was placed on the shelves, all available with just one scan. This isn’t a far-off reality – giving more power to the consumer via informed decision making.
These technologies and their impact to reform are just around the corner – by having a Home Lab you’re able to see and use these technologies right now. You can make your own Crypto Wallet, experiment with Smart Contracts, etc. you don’t have to wait for ‘tomorrow’, just take the leap and build your Home Lab today.
Teach Yourself to Fish
One of the more valuable skills you’ll inevitably learn while building a Home Lab is simply how to fix things yourself. You’ll no longer be reliant on calling a Help Desk or spending money on Geek Squad help. You’ll be able to do it yourself.
This is an obvious win for your wallet by not having to spend money on support or unnecessary upgrades, but this speaks to a sense of satisfaction as well. The euphoria I get when I solve a difficult problem that’s been plaguing me for a few days is second to none.
But this isn’t necessarily a new discovery – we all know that by taking the initiative for ourselves and learning how to do new things we become less reliant on others or services, and ultimately become self-reliant.
Current Home Lab setup
My Home Lab is a bit overkill for the average consumer, but that’s simply because I’m using it as a tool to grow as a Software Engineer, but the core concepts of building a Home Lab are still valid – no matter how big your small your Labs’ capabilities are.
As of 11/12/19, my Home Lab is consists of:
- Sandbox/Test Environment
- ASUS RS100-X5/PI2
- ASUS P5GC-MR Motherboard
- Intel Core 2 Duo E4600 @ 2.4 GHz
- 4 GB RAM DDR2 333 MHz
- 250 GB SSD Boot Drive
- 1 TB HDD Storage Drive
- Staging Environment
- Custom Built Administrative Server
- ASUS CM1740 Motherboard
- AMD E2-3200 APU with Radeon HD Graphics
- 24 GB RAM DDR3 1600 MHz
- 3 2TB HDD Storage Drives
- 1 1TB HDD Storage Drive
- 1 250 GB SSD Boot Drive
- Production Environment
- Custom Built Media Server
- ASUS F2A85-V Pro Motherboard
- AMD A10-5800K APU with Radeon HD Graphics
- 32 GB RAM DDR3 1866 MHz
- 6 2TB HDD Storage Drives in a RAID 6 Array
I also have two dedicated internet connections, one as a private home network and the other as a dedicated work network. Each server has it’s own static IP address and is secured via explicit SSH key access. I also have 3 separate routers to divide and secure our home networks. One network which only has our 26 IoT devices, another that is responsible for our streaming devices, and the third is for work only devices.
As a family we no longer have Google Drive or Dropbox accounts, all of our digital assets are hosted by us in the privacy of our own home. There is no tracking of information, it’s our own private data.
A Home Lab and all its inherent benefits are no longer for the dedicated engineer. Home consumers and hobbyists alike can harness the power of owning their own data, resurrecting old hardware to discover new technologies.
But what this really speaks to is fear. You no longer need to be scared to fix your own machine, or try something new – if you dedicate a little bit of time learning from Open Source materials online you’ll find yourself in a more confident position in life and with your home network.