| career | getting experience - Team Nuggets
8 DIY Projects That Will Help You Learn IT
The process of expanding our IT horizons doesn't have to be solely grounded in college classrooms, technical school, or certification training. While all of these avenues will probably be a necessity at various points in our career, we shouldn't lose sight of the fact that technology is fun! In fact, that's probably why you chose IT in the first place.
Whether you're in the early planning stages of a career in IT, or a seasoned IT pro, who needs to explore some skills outside of your day to day, you can keep things fun and interesting by working on some side projects at home that provide real value.
The education gained through the process can come full circle to further your career, and it's a good opportunity to involve children, spouses, and friends in what you do. Here's eight projects to consider.
Project 1: Media Server
Today's fragmentation among streaming services means that home media servers are back in the spotlight. Rather than subscribe to a multitude of streaming services, it can be cheaper to purchase your movies and music outright, giving you the ability to stream them locally forever. Media Servers are also well suited for displaying family photos and videos, and often provide a DVR. Setting one up can jumpstart your knowledge of Network Attached Storage, Networking, and Firewalls.
You probably don't need to purchase any new hardware or software to get a media server running in your home. There's a good chance your router already has a DLNA media server built in, waiting for you to connect a hard drive. This is usually the easiest way to get started, as all you need to do is connect a large (8TB or more) USB hard drive to your router and enable its media server.
Each TV, laptop, or device that accesses the server will need to be configured with an appropriate client, and there may be some firewall configuration involved. As an alternative, many Network Attached Storage (NAS) devices also offer a similar DLNA server. The advantage to using a NAS device is access to greater storage than even the largest USB drives.
If you're looking for something more robust than your router or NAS offers, you could install a media server to your home PC, an outdated laptop, or an inexpensive Raspberry Pi. Plex and Serviio are both popular media server software, and can install to most hardware and OS combinations. Storage and networking configuration is going to be more involved, but that could be a good thing, as you'll learn a lot more in the process.
Project 2: Home Automation
Home automation is one of those projects that, at first glance, might seem to be more trouble than it's worth. However, when we really consider the applications, it turns out that smart homes can reap huge energy savings while making our lives more comfortable in the process.
The first and most obvious application is control of lighting. Most homes and apartments have lighting installed on multiple switches and circuits, even though we would prefer to operate them in groups according to our room layout. Home automation can cut through the wiring hassles by placing lights into groups that can be controlled as desired.
The best automation includes scheduling, which can be a huge convenience when we have to leave for work before the sun rises, for example. Heat and A/C systems, hot water heaters, etc… can all benefit from the same type of scheduling, by turning off energy-guzzling systems while you're gone and reactivating them when you're on the way home.
Modern smart home systems are becoming more interoperable, with most devices compatible with Google Home and SmartThings. Both are made to complement smart speakers or smart displays, therefore they're relatively simple to implement.
For those who really want to dive in, openHAB provides an open source automation server that works with nearly every available smart home device. OpenHAB requires more effort, as you'll want to install it on a Raspberry Pi or other Linux-capable device. Installation and configuration can be quite complex, but through the process you'll gain a deeper knowledge of Linux configuration, programming and scripting, and you'll have a far more robust smart home.
Project 3: Personal Weather Station
Setting up a personal weather station can be extremely useful to your local community while providing valuable data to atmospheric science. Depending on how robust you want your system to be, configuration can delve deeply into server configuration, the cloud, networking, and firewall configuration.
It's easy enough to get started with either a pre-packaged system or individual sensors and base station. Over time you'll certainly want to create a weather web page with localized forecast, install a weather cam, and upload data to NOAA and the National Weather Service. This process of evolution will keep you learning about IT for many months, if not years.
Complete weather station hardware is available from a number of vendors such as Davis, Ambient, or LaCrosse. Server-side software is freely available for you to customize to your needs, such as the Saratoga Weather Scripts and Cumulus MX. For the ultimate experience, consider building the station hardware yourself using Arduino.
Project 4: Digital Photo Frame
Early digital photo frames were a hassle, because they had to be manually updated via sneakernet. Today, we can utilize the cloud to automatically pull photos from our various photo streams, such as Facebook, Google Photos, or virtually any cloud storage service.
With some IT knowledge, photo frames can be made from outdated tablets, laptops, or modern smart displays. Cloud-enabled smart screens are not only useful for yourself, but also as gifts to relatives. This means no more printing and mailing photos to the grandparents.
The first step is to ensure your photos are uploaded to a cloud service. In many cases, this process can be automatic, as your cell phone can probably be configured to auto-upload photos to a cloud service of your choosing. Because you might not want every single photo making its way to your photo frame, you can create a separate album of photos that you want to share to your frame.
If you have an old tablet laying in a drawer, you can simply install a photo frame app such as Fotoo. Be sure to grab (or make) a tablet stand. Most smart displays also have some type of photo slideshow as screensaver, but you may find yourself locked into a particular cloud provider. For the greatest flexibility and educational value, you can gain some Linux experience by repurposing an old laptop. Install a lite flavor of Linux and simply autostart the image viewer "feh". You can easily map feh to a cloud service, such as a Dropbox folder.
IT Projects That Manage Your Digital Life
It's hard to keep pace with the ways that technology has changed our lives. It's easy to drop the ball on important matters and pay the price. Whether we lose important data, get hacked, or suffer identity theft, anyone who has been a victim will agree that prevention is worth the effort. We can take on some simple projects that protect us from pandemonium and teach us a lot about IT along the way.
Project 5: Automated Cloud Backups
Backing up data to the cloud is the single best thing you can do to protect yourself from a technology-related disaster. With a cloud backup, you can quickly recover from a drive failure or even ransomware. However, it's important to consider how your data is being backed up and what will be required to restore it in the event of a total loss.
While automatic file sync is the easiest method (and usually the default option), it makes cloud files just as vulnerable to ransomware as local files. If using automatic sync, be sure that your cloud provider offers a version history that will allow a rapid rollback of all files. The smarter option is to implement a strategy of sync'd and periodic cloud backups.
For instance, your files could be synced to OneDrive, then Amazon Glacier can be used for periodic cloud backups. Setting up a robust cloud backup solution is a great way to explore the issues common to server administration.
Project 6: Implement a Data Privacy System
All this talk of cloud backups may raise some red flags regarding data privacy. There are many who will not trust sensitive or proprietary data to the major cloud service providers, knowing that they scan all files in their possession. There are two solutions to this problem, both of which dive deeply into storage, networking, and cryptography.
The first solution is to encrypt your files before they are deployed to the cloud. We can set up an encryption solution using software such as Boxcryptor or the open source Cyptomator. But for even greater privacy and unlimited cloud storage, eschew the large providers entirely and create your own cloud using Nextcloud.
Project 7: Configure a Password Manager on All Devices
To help decide whether or not you'll need a password management system, simply go to the Have I Been Pwned site and enter your email address. Now think about those accounts that have been compromised. Did you use the same or similar logon credentials for other important accounts?
A password manager protects against this vulnerability by creating passwords that are unique and strong for each of your online accounts, and you never have to remember or even know the password. Research carefully to choose a password manager that will work on all of your devices and within all applications. You don't want to create a strong password within your web browser and then find you have to type it manually into a particular app.
Project 8: Implement Mobile Device Management
Modern systems administration looks very different compared to just 10 years ago. Additional layers have been implemented to combat common device management scenarios. You can learn a lot about today's IT administration by enabling MDM features that are probably already present on your devices.
For instance, Office 365 Mobile Device Management allows you to enable or disable certain functions such as the ability to install apps, log into particular services, or protect a lost device by remotely wiping it.
The Bottom Line
Whichever project(s) you choose to strengthen your IT knowledge, try to have fun with it! Think of something that no one has done before, and make it happen. Give your ideas back to the community. You may find that your efforts uncover new areas for discovery and new interests, while expanding your knowledge of IT and programming fundamentals.