Becoming a Techie
I must have been 6 or 7 years old when I first watched Star Wars: The Phantom Menace. I was the perfect age for that film. Jarjar was funny, Darth Maul was truly terrifying, the podracing was exciting, the space battles were action packed, and the sheer scale of the conflict blew my mind. It was amazing how a small group of people could save a planet! Not too long after, my father and I watched the original trilogy. I was hooked on the franchise and if you know anything about kids, you can bet that my family ended up re-watching the Star Wars films time and time again.
It turns out that, if you give a kid a Star Wars movie...
He’s going to want a spaceship.
He'll build that spaceship out of legos, then he’ll start wondering how it flies.
Once he starts thinking about flight, he’ll want to learn about aerodynamics, rockets, and how robots work.
With a supportive family, that might lead him to science summer camps at the Museum of Science and Industry (MOSI).
Once he has built water balloon catapults, he'll want to continue to build things.
Before long, he’s not just watching sci-fi, he’s trying to build it.
That kid was me.
It turns out that if you give a mouse a cookie and plenty of support, a kid can become incredibly tech savvy. Once that kid becomes tech savvy, that kid might become the "techie" of the family.
Computer Guy
One might find the following quite odd. You see, I went into college without a strong idea of what I wanted to do - other than wanting to become an engineer. So, in my first semester as a freshman at the University of Florida (a summer semester), I took "Intro to Engineering" in order to decide on what major I would declare. My qualificiations? That the coolest presentation would be what I declared.
You can tell from the heading that the Computer Science department won with its presentation, but Materials Science and Package Engineering had really cool presentations as well. Unfortunately, memory does not serve me well enough to recall what the presentation was exactly. I did end up on an electroencephalogram (EEG) project at one point, but I think the presentation was much simpler than that.
So, I became a computer science undergraduate and went through a short identity crisis for a while after being forced to use Java and OOP as if they were the only acceptable computer programming paradigm. Sparing the details, I never fell out of love for computers, but I did fall out of love for programming during my studies.
That changed when I... switched to Linux.
Linux Person
My computing history up to this point was primarily dominated by Apple and Microsoft. My family was enraptured by the marketing, style, and frankly, innovation that Apple pushed forth while Steve Jobs was alive. So, I was well versed in the kinds of Apple products that my family used. As the family techie, I was often called to troublshoot integrations with Apple products and to help make sense of the tech jargon and specifications that Apple releases came with. I was also fairly frustrated at a young age about how restrictive the devices were to tinkering, finding minimal support and maximum frustration when doing things outside of what Apple's most common demoninator for computing was.
For both gaming and programming, I had used Windows. I particularly remember a fondness for Windows Vista and Windows 7, because Visual Studio handled all of my C++ needs, IntelliJ handled the awful Java curriculum I was subjected to, gaming was a breeze, drivers just worked, and overall the experience as a Windows user was great. Still, I became Linux curious around when Windows 10 was announced. See, Windows 10 was offered as a free upgrade only for those Windows 7 and 8 users who opted in for the upgrade for the first year of its general release. I recall Windows 10 having a very poor initial release. Some of the bugs/features I remembered:
- Windows Hello was incredibly insecure.
- Many people upgrading from Windows 7 (which I still was at) bricked their OS with in in-place updater, getting BSODs.
- Performance regressions.
- Forced into things such as: using Cortana, enabling nearly all telemetry, being gited a free uninstallable Edge, a new software store (with ads galore), and more.
At this point, I had tried to learn Linux in a VM with Ubuntu. It proved out that switching to Linux at the time was not possible for me. Decades of Windows experience gave me the wrong expecation about how a desktop should look. Ubuntu's Unity desktop (at the time) certainly didn't spark joy. Also, I was a pretty competitive gamer at the time. Nearly all of my games used some form of anti-cheat (often kernel level). Simply put, I ate Windows 10 for some time.
A very large part of the reason that I ended up switching to Linux is because life made it make sense to do so. For one, I weaned off of playing competitive games. For another, I got hired at a small liberal arts school called Whitman College, where quite a few people took a chance on me. Whitman College took someone without much formal experience to his name and hired him primarily to support a Computer Science and Mathematics department that found Linux to be the best choice for computer labs. While I had worked a lot with virtualized Ubuntu (both the previously mentioned VM and through WSL), it made quite a bit of sense to install Linux on my home computer so that I could actually gain the experience of using Linux.
Initially, dual-booting Windows 10 and Fedora was my strategy. At the time, I felt the least comfortable with interacting with rpm-based distributions and fairly comfortable interacting with deb-based distributions. It quickly turned out that Fedora 38's version of the GNOME desktop was a similar enough experience to Ubuntu 18.04's modified GNOME. Also, it quickly turned out that I could do everything I wanted to do with my computer with Fedora. But what happens if you re-invigorate a techie's curiosity?
Well, if you give a techie Linux:
He’s going to want to run a server at home.
Once he sets up a server, he'll realize should set up his home networking.
Once he starts setting up networking, he’ll need to finally figure out DNS, reverse proxies, and traffic shaping with firewall rules and VLANS.
Then he’ll need backups: Daily, Incremental, Offsite, Encrypted.
And he'll learn about High Performance Computing and other means of clustering computers together, so he'll buy more new equipment.
And he’ll want to spend as little money as possible, so he'll repair machines that were left for waste.
He’ll start benchmarking. Then trying to make code that beats those benchmarks, finally tinkering again.
There's much more that can be said about me, but for now I think thats what I want to put out into the world.