Don't Sleep on Legacy Hardware

Computers don't really get slower, they just get bloated.
Last updated: 08/05/2024
By: Kinn
Tags: [Hardware, Software]

The Art of Being Cheap

I once found an old, heavy laptop sitting around when I was living with my parents and thought that because of how slow it was, it must have been from the stone age. Though made of stone indeed, the laptop was only about 10 years old, had an Intel i3, and was running Windows 7. At the time, I think what I was doing with it was attempting to install some piece of software for a MIDI controller, and on a laptop no less so I can place it next to my electric piano. I think of this moment frequently when dealing with my current supply of legacy hardware and thinking about how I could've leveraged that device better, how I could have repurposed it to fit my needs. I was probably a freshman in high school at the time and hadn't even considered delving into IT as far as I have now, but a sign of growth that I've since recognized is to respect these old pieces of tech for what they were in their time, they surely suited someone's purposes somewhere. Why can't they suit mine, now?

I've learned to respect old hardware, it's thanks to the PC once collecting dust in my closet that you're able to read this page. I knew that webpages used to be common place for avid internet users in the early 2000s, before AWS, Azure, and Cloudflare to name a few, took over. My old PC was the prime candidate for hosting a website, it was old, sure, but that doesn't mean the hardware has really degraded that much, it was just full of digital gunk and needed a detox. So I had my computer "look into the light" and wiped the drives, threw a fresh install of linux on it and suddenly, it was brand new. Whatever start up processes or bloat my prior Windows install had glued to the feet of the computer were gone in an instant and the device had enough breath to run again.

One of the reasons I decided to but a linux server instead of a Windows server is because of my severe disdain for proprietary software. I think software should be free, open, and distributable, especially if it requires nothing to run but your own device. There are so many options I encountered along the road of building out my server and site where I had the choice of swiping a credit card and have something done for me, and though this option may simply be best for those trying to establish their own site who don't have the time to accrue technical knowledge, I think that it's worthwhile to learn as much as you can when building something that represents you. You end up writing a story into your service and it becomes much more to respect. But I digress, I'm here to talk about the hardware.

I was pretty hellbent on seeing how lazy I could be with my refreshed device, it was feeling new again but still had some limitations. As a server, it doesn't require things such as a user-interface outside of a command prompt, so I went headless without a desktop. Furthermore, the server is tucked away neatly in my closet with some obscure cables running under the door, the only indication of it's presence. I wasn't really excited to go up to my closet every time I had to manage the server, I didn't even want to go up to it to turn it on. Luckily, Wake-On-LAN (WOL) exists to power on the device remotely from my primary workstation. Further more, I was able to simply ssh into the device following that. After that, I was off to the races with getting my services up.

Being lazy is a godsend. Much of my time spent configuring my services wasn't actually spent building them up, but instead making them easy to start up without needing to repeat complicated commands. After many restarts, figured it was time to automate. Bash scripts are king, I honestly wasn't that experienced with bash scripting but this was a good excuse to learn. I wrote scripts to run startup commands on boot, wrote a manager to interface with the API of another service, automating some timed tasks. Really feeling like a power user now. Since I was running headless, I needed multiple terminal instances active so at first I was using linux's screen command. After finding the limit to this, I eventually switched to the terminal multiplexer tmux which solved many of my issues with automatically starting instances. I plan to switch to Docker eventually when I find the limit of tmux, but for now its light enough and fits my needs.

I wrote an article detailing how I built the site so I won't go into it here, but feel free to read that post. Whats important for the sake of this post is understanding the limitations I had to consider with the server. Obviously the existing hardware felt ancient to what I was actively using, but aside from that, it was actually more than I needed for my purposes. I would say the biggest cost in maintaining the site is paying for internet connection, but I was paying for that anyways. All the software, from the linux distribution, to the site hosting software, to the firewall manager, all of it is powered by FOSS. It was refreshing not having to pay for anything, and I wasn't even stealing.

The Advent of Last Weekend

The timing for this article is partially due to the fun I had last weekend. My version of fun, naturally, was spending the day doing open heart surgery on my computers, replacing components, and installing operating systems and other software. The summary is as follows:

I ran into some out-of-memory issues running game servers, and after incorrectly purchasing SODIMM RAM from a friend and finding my server uses DIMM slots, I went online and found that DDR3 RAM is stupid cheap, so the next day it was at the door and I was installing it.

For all the crap that I give Windows, its still necessary to run some software which hasn't been ported to Linux, doesn't run on Wine, and doesn't have a FOSS alternative. Looking at you, Adobe, Autodesk. Windows, unlike Linux, hates being installed on external devices. Windows To Go was a project long abandoned by Microsoft, but that didn't deter me. People online have been formulating alternatives with their open-source projects for a while now, and by far the easiest solution was, unfortunately, using a Windows device and Rufus to install the Windows ISO onto an external device. But the question lingers, where does the toaster come in?

HDD Toaster

That is a BlacX Duet, or as I like to call it, the HDD Toaster. I purchased it from a Goodwill for about $15 around the time I was building my workstation last summer, I knew that it would be necessary one day since my workstation doesn't have a drive bay as it was removed to make space for a radiator. It was surprisingly easy to use, it functions like an external drive where the drive is swappable without having to uncover the entire case. It has an external power supply and supports USB 3.0, and even better, there are two little buttons on the far side of the device which, when pressed, spring the HDD up like a piece of toast, as per the name. I have a lot of neat little devices and controllers, ranging from the MIDI controller mentioned at the beginning, to a HOTAS and Gas Pedal and Wheel. This is by far the goofiest piece of tech, but I'd be damned if it didn't do what I need it to.

Naturally, after installing Windows 11, I immediately debloated it using Raphire's Win11Debloat, a simple powershell script which removes a bunch of Microsoft's gunk from the install, making a more pleasant user experience. Still feels gross, though.

The last exciting topic was putting Kali onto a USB. Now, the Kali organization actually has a simple guide on how to install it onto a portable device. Didn't stop me, though, I was still able to mess it up some how. My first attempt was trying to use the installation media to install it to itself, it didn't like this for obvious reasons namely it trying to overwrite itself while setting up the partitions. I ended up using my less powerful 8GB Lexar USB as installation media and my workstation as a surrogate to install Kali to my brand-new 128GB SanDisk USB. All went well and I was running xfce, only that I had to run the classic hurdle which is installing Nvidia drivers on Linux, which, shoutouts to the Kali org once again, there was an easy enough guide to follow. All was well and I had Kali on a stick. I plan on using it during competitons as it comes pre-installed with a bunch of handy tools and resources.

Unfortunately, my laptop (which is unsurpsingly also legacy hardware) has a bug in the BIOS or the CMOS battery which prevents an option called "fast boot" to remain disabled. Without proper configuration of this option, the device can only boot from the internal SSD instead of the intended external USB. Another caveat appears, wherein Lenovo's BIOS update software only works on Windows devices, so I feel another USB flash in the near future. Yay. But such is the way of bending hardware to your will, sometimes it throws interesting and often infuriating issues your way, but its our job as IT people to tackle the problem and subdue it with knowledge. This is the way.

As of this article, I am looking for internship opportunities related to cybersecurity. If you are someone or know someone who is hiring someone with my skillset, I would like to direct you to my contact page. I'm a big "learning-by-doing" guy, so the sooner I can do that the better.

In summary, I spent another $16 on a RAM upgrade, spent about $15 a year ago on the HDD Toaster, and something like $14 on a 128GB SanDisk USB. Outside of that, the money spent on hardware was spent many years ago, and here it is today chugging along. And no, I didn't buy a Windows license.

Thanks for reading, if you have questions, write me an email or tweet me. Everything is on the contacts page.