Like many who have been staying closer to home these past several months, I’ve embarked on all manner of projects. From building an overly elaborate tree house for my kids, to cleaning and reorganizing closets, to brushing the dust off my work clothes as I don another set of athleisure wear, which I previously knew as gym clothes.
I’ve also tried to embark on some technology-related projects. Like many IT leaders, the nuts and bolts of technology are largely absent from my day-to-day professional responsibilities, and while I’m certainly aware of the new tools and techniques, I have little if any hands-on exposure to them. I’ve tried to change that a bit during my time at home, and it’s been a refreshing mental exercise to get my hands dirty with the technology.
Not only is it a nice change of pace, but much of the innovation is coming from open source and cloud-based platforms that are readily available, free to use for experimentation, and, frankly, rather fun. Reconnecting with the technology at a detailed level will also make you a more informed leader as you’ll have some hands-on experience rather than just having read the PowerPoint.
Here are three projects I’ve embarked upon that you may also enjoy.
Build a home server
My last home lab was more than a decade ago, and it consisted of a legitimate server rack loaded with several outdated servers I’d acquired on eBay. It was loud, hot, the size of a refrigerator, and probably added significantly to our electric bill, not to mention that setup, configuration, and maintenance were not insignificant tasks.
Hardware has become increasingly powerful while size and power consumption have decreased. While eBay still has myriad opportunities to buy cast-off “big iron,” I selected components designed for a combination of silence, small size, and performance. There’s a unique joy to carefully selecting components, then assembling and connecting them, and then applying power and pressing On for the first time. If you’re lucky, you get to watch your hardware come to life. With your box built, it’s time to install some software.
Provision your one-box data center
One of the major innovations that amazed me as I started this project was how far virtualization technologies have advanced. I ended the hands-on portion of my tech career as virtual machines were being broadly deployed, and now tools like Docker allow for what’s essentially a purpose-built server, called a container, to be downloaded, provisioned, and running in a matter of minutes, without having to build an underlying operating system on any of the associated complexities.
There are a number of tools for running Docker containers, and I chose UnRAID, a customized version of Linux that provides basic file sharing as well as the ability to run Docker containers and conventional virtual machines. There’s an app store of sorts for Docker containers, and within a few days I’d spun up things like Pi-hole, which blocks advertisements and trackers on our home network, Organizr, a neat homepage tool, and a set of home automation tools. It’s been fun to integrate the various applications, configure things like secure remote access, and be able to explore new services and tools far more easily than having to start from bare metal.
Build your own service
One of the most interesting Docker containers I installed was Node-RED, which bills itself as a “programming tool for wiring together hardware devices, APIs and online services in new and interesting ways.” While initially a bit intimidating, it basically allows for stringing together tools in a flowchart-like manner to create new things, in many cases without writing any code.
For example, I was able to create a flow that receives geolocation data from my phone, using the OwnTracks app. The flow then decodes the location information, feeds it to a variety of geofence nodes to determine if I’m present in a set of locations, and then uses a Google API to decode the latitude and longitude into a human-readable address. All this information is then sent to my home automation system (running in a virtual machine on UnRAID) via MQTT (another Docker container), which is a protocol designed to facilitate communication among Internet of Things (IoT) devices.
While it might seem like you’re allowing work to intrude on your play by embarking on some of these projects, you may find it a refreshing mental break as well as something that augments your skills as a leader.