Ok, it's actually been longer than twenty years, but we seem to like base-10, so it's a catchier headline. I can't exactly claim that my early years were terribly productive, so maybe twenty years is more appropriate anyway. I feel like that's a pretty long time and given how some technologies come and go it is pretty interesting that a lot of the fundamentals still hold true today (and are still good). Today I use Linux on my general purpose computers about 90% of the time. The other 10% is gaming on windows, which I'll get back to. For any productive work, it's pretty much 100% of my usage. I'm not counting my phone and tablet, which run Unix under the covers, and I do use those quite a bit. I also use Mac OS X at work, which again is Unix under the covers.
I was always pretty tech curious, and for a kid in the 90s have access to a personal computer was a pretty great luxury. We had an 386 running MS-DOS early on. At that point I didn't understand too much about what the hell was going on with computers, but I sure was excited to get some games running on that thing. At some point we got an upgrade to a 486DX which was a massive change, suddenly we could run things like Windows 3.1 which at the time was mostly a way to launch solitaire. I had gotten used to DOS and didn't see a need most of the time for a Window manager that chewed up limited system resources. I don't recall when exactly, but we did end up with a Pentium II 300Mhz machine which is where my real journey began.
I remember fiddling around with a couple of different linux distros early, the one that sticks out in my mind is Redhat. It really felt on-par with MS products in terms of quality at the time. It wasn't perfect my any means, but it was solid and could do most of the things I would want it to, aside from specific games. Back then getting word processing and printing working was a pretty good benchmark for a functional system. I think it was running a copy of FVWM95, which was a windows 95 desktop clone. I recall not being able to do much once I got it installed, it was pretty much just word processing. It would be a while yet before I had a normal dial-up connection working in Linux. This would have been sometime in 98.
When I really started getting into the journey was with my friend Josh. I finally had someone to collaborate with, and he had a whole bunch of equipment to test various things on. We got Slackware running on some machines just to play around with it. At that time Slackware came on alphabetized 3.5" disks, so if you needed to install X Windows, you'd use the X disk. I recall being impressed at the time, most machines didn't have CD-ROM drives so it was very functional. Slackware lacked some of the polish of Redhat, but it was one of those situations where the less polish meant that I learned a lot more. Having to do things manually meant I had to understand how and why. Slackware has always tried to be Unix-like, and at the time I didn't know why that was meaningful. It gave me a good foundation to build on.
Once I "got good" at this Linux thing I started to really dig into the technology and play around with more low-level stuff. Gentoo jumped out at me because it allowed you to compile, literally your entire system, from scratch. It was a really interesting system, I got to play with compiler flags and learn about what some of the different architectures could do. Josh and I would use compile times for kernels or large applications (like Staroffice) to compare CPU speeds. I learned quite a bit about the boot processes of a Linux machine, and how dependencies work in a complex system of shared libraries. I ran Gentoo for several years and was quite happy with it.
I played around with quite a few distributions (mandrake, suse, debian, etc) over the years, but stuck with Gentoo for quite a while. It was a great system, and stable. I recall getting annoyed with compile times somewhere along the line, and started looking for a binary distribution. Ubuntu had been gaining some momentum as a more modern Debian, which was appealing for a number of reasons. Debian had a very strong reputation, but was constantly behind (stable vs up-to-date). Ubuntu kept the stability (mostly) but brought it forward to newer versions of the software. It seemed like a lot of people were moving to Ubuntu as their desktop distro of choice. I think I was still a little gun-shy of RPM based distros, as I had broken too many RPM systems over the years. Ubuntu was solid, and I enjoyed using it, but my primary machine during that time was a Macbook, and so my Linux usage went down a bit. Ubuntu was solid, although I never had a version upgrade go smoothly, and it kept me on a stable platform without needing to challenge myself much. That's where I was at that time. I was doing more programming and less system integration work.
Eventually I got the itch again, though it would be a handful of years. I don't recall specifically, but it was almost certainly during an upgrade, when I decided that Ubuntu was too plain or I was too complex. It's also entirely possibly I just got fed up with Canonical and their inane business decisions (amazon results in desktop search, Mir over Wayland, focusing on mobile, I can't recall the exact timing of these things). However it happened I stopped wanting to use Ubuntu and set off in search of the next thing. I recall still feeling fed up with compiling everything, though I definitely considered going back to Gentoo. Arch was gaining some prominence as a unsullied vanilla experience for experienced Linux users. Bare minimum install, excellent package manager, solid community, and no cruft. I was pretty much instantly hooked. Installing Arch got my blood flowing again, I had to re-learn some skills and improve my overall understanding of exactly how things connected together. I got a slim machine footprint with cutting (not bleeding) edge software updates. I was in control of my machine again.
And that's where I've been for the better part of a decade. I maintained a single install on my desktop machine for nearly 7 years, and now on my latest desktop I expect a similar longevity (or longer, this AMD is fantastic). I am keeping my finger on the pulse of Linux, so who knows maybe I'll get pulled over to something else soon (FreeBSD is looking pretty sexy these days). But I am as happy with Linux as I could be for now, and I hope to contribute back to the community that has been so good to me over the years.