Skip to content
linux-journey-25-years-later.mdx — vim — zsh
@devblog:~/posts$ cat linux-journey-25-years-later.mdx
---
title: “600MB Download, 25 Years Later: Why Linux Finally Won
description: “How a slow PC, a Lycos search, and DHH's setup finally convinced me to make Linux my main development environment after decades of switching back and forth.
date: 2025-08-23T12:00:00
reading_time: 8 min read
tags:[Linux][Development Environment][Career][Personal Story][Arch][Developer Experience]
---

Sometime around 1997 or 1998, I was a teenager, about 18 or 19 years old. I had already been using the internet for a couple of years. I owned an old PC my parents had given me as a gift. Honestly, I don't remember its exact specs. Maybe a Pentium I, a hard drive with about 1GB of storage, and just a pinch of RAM. My PC was slow, painfully slow, even for that time.

By then, I already knew what a programming language was. I was writing little bits of HTML to build my first "websites" and spending countless hours on forums, reading about new things and talking about computers.

Since my PC was slower than molasses (as I already mentioned), I started searching in forums and on Lycos (do you remember Lycos? I bet you don't) for ways to speed it up. One guy mentioned Linux, a small, fast, but powerful operating system. You could do whatever you wanted with it, tweak it to your needs, and most importantly, it didn't require much RAM or hard drive space. Perfect! I needed a fast PC to write my HTML code.

So I kept reading, and this guy was talking about Debian Linux. He even had a detailed tutorial on how to download and install it.

Long story short, after several days of downloading the ISO - about 600MB (yes, it took me days, and I had to pray my parents didn't need the phone) - I finally got the file. Luckily, my PC had a CD burner. That was huge! I could burn MP3s and cool stuff, but this time I burned my very first Linux ISO.

I rebooted and started the installation. It took me another two weeks to get a minimal Debian setup running with a very primitive UI. But there it was: Linux running on my machine. Next step? Connect to the internet and tell the world, "I'm running Linux, guys! BTW."

I checked my handwritten notes - they said I needed to set up the modem with my provider's phone number, username, and password just like Windows. Easy, right? Except... there was no modem option in the settings. What? Why? Where is my modem?

The next day, I went to the local cybercafé (the only place with internet access) to research. That's when I discovered my PC's built-in modem wasn't compatible with Linux. Back then, there were two types of modems: the ones that came pre-installed in PCs (like mine), and real external modems. I never fully understood the difference, but it was clear: my internal modem was useless.

So there I was - running Debian, but with no internet. It took me a couple of months to save enough money to buy an external modem. (Yes, at that time, we could actually go months without internet!) Finally, with the new modem, I was able to connect and "surf the web."

That was my first taste of Linux. Over the next 3-4 years, I became a developer - ActionScript was my main language - and got my first job in the industry. My relationship with Linux became more low-level: I'd connect to job servers and edit files using vim or nano. Nothing crazy, but I always felt at home in the terminal.

Years passed, and I was constantly switching back and forth between Linux, Windows, and Mac. I used Mac from 2012/2013 onward, but I always had this attachment to Linux. My last serious attempt was around 2019 when I used Ubuntu for almost three years - until I got a Mac Mini and switched back, again.

Here's the thing: even though I always wanted to use Linux for work, there was always something that pulled me back to Mac. Maybe it was Photoshop compatibility, or Excel, or I'd get bored with the UI. Mac just looked better, Mac just works. The usual suspects, you know?

But looking back, I realize the Linux desktop experience has transformed dramatically since my Ubuntu days, let alone since that first Debian installation. The UI and UX have evolved from functional-but-ugly to genuinely beautiful and polished. The community has shifted from obscure forums where you'd wait days for answers to vibrant Discord servers and Reddit communities where help arrives in minutes, not hours, days or even never arrives.

Until a few weeks ago, when I saw DHH talking about his new opinionated Arch + Hyprland setup. I watched the video and... wow. The aesthetics, the way the UI flows, the look and feel - Linux desktop environments have evolved incredibly over the past few years. I had to give it a try.

I ordered a new Beelink SER8 Mini PC. In terms of hardware, it more than doubles my current MacBook Pro M1's specs and costs about one-third the price. The SER8 features an AMD Ryzen 7 8845HS processor with AMD Radeon 780M integrated graphics, 32GB of DDR5-5600MHz RAM, and 1TB PCIe 4.0 SSD storage. Compare that to my M1 MacBook Pro with 16GB RAM and 512GB storage - it's not even close.

So I got the mini PC and found myself running the Arch installation, seeing the same "ugly" terminal commands I'd encountered 25+ years ago. But this time, I had the same enthusiasm as that teenager, except now I actually knew what I was doing. The commands weren't scary anymore - they were familiar friends.

Finally, I'm running Linux again. I migrated my entire development environment to Arch, powered by Omarchy, and so far, so good. The setup is fast, all my sound and camera gear works perfectly, and I'm ready to rock for the next couple of years - or until I miss Mac again.

Here's what I think will make this Linux stint actually stick: the tooling ecosystem has caught up, and my priorities as a developer have shifted.

The one thing I genuinely miss from Mac is Laravel Herd - that magnificent local development environment that just works. Instead, I'm running Docker via DDEV, and while Docker isn't bad (it's actually quite good), there's something magical about Herd's simplicity. With Herd, you just run it, and boom - you have PHP, Nginx, and MySQL running optimally. Need to switch PHP versions? 1 click, done. Want to share your local site? 1 click, done. It's that simple.

With Docker and DDEV, you get more flexibility and better production parity, but you trade some of that Mac-like "it just works" experience for YAML configuration files and the occasional container rebuild. Not a dealbreaker, just different.

But here's the thing - I'm addicted to tweaking, and Linux feeds that addiction perfectly. I've already spent hours fine-tuning my NeoVim setup, and now with Hyprland, Waybar, and Walker, I'll probably spend many more hours changing things around. But for me? That's not a bug, it's a feature. That's my hobby.

What strikes me most is how much has changed since that first Debian installation. Back then, getting Linux running meant weeks of forum diving and hardware compatibility nightmares. Now, Arch and Omarchy had me up and running with a beautiful, functional desktop in under an hour, not 10 minutes as the site promises.

The community has evolved too. Instead of waiting days for forum responses, I'm getting real-time help on Discord. The documentation has improved dramatically. Package managers actually work reliably. Hardware support is excellent - my audio interface, webcam, and even my weird USB devices just worked out of the box.

And as a web developer, Linux has become the natural choice. All the tools I need - Node.js, PHP, Docker, databases - run natively and performantly. The terminal is my IDE half the time anyway, and nothing beats a proper terminal on Linux. Package management through pacman feels more natural than Homebrew ever did. System updates don't require reboots (looking at you, macOS and don't make me start with you Windows!!).

The web development landscape has shifted toward Linux-first thinking. Most of our production servers run Linux. Our containers are Linux-based. Our CI/CD pipelines run on Linux. Development tools are built with Linux in mind and then ported elsewhere.

When I'm developing locally on Linux, I'm working in an environment that closely mirrors production. No more "works on my Mac" moments. No more Docker filesystem performance issues. No more wondering if that npm package will work the same way in production.

Plus, the performance difference is real. My builds are faster, my containers start quicker, and I'm not fighting against an operating system that's constantly trying to be helpful in ways I don't want.

Twenty-five years later, I'm still that kid downloading ISOs and burning CDs, but now I know what I'm doing. I'm not afraid of the terminal - I live in it. I don't need the internet café to research fixes - I can troubleshoot issues in real-time.

That teenage enthusiasm is still there, but it's backed by decades of experience. I know which battles are worth fighting and which conveniences are worth sacrificing. I understand the trade-offs because I've lived on both sides.

And you know what? For the first time in years, I'm genuinely excited about my development environment. Not because it's new and shiny, but because it's exactly what I need it to be. Nothing more, nothing less.

Linux didn't win me over with flashy features or marketing promises. It won me over by finally becoming what it always had the potential to be: a rock-solid, beautiful, infinitely customizable foundation for doing the work I love.

Now, if you'll excuse me, I have a Waybar configuration to tweak.

NORMAL • Press ? for help