In 2004 (age 14), I heard from a family friend about Linux. I read about it online and decided that I needed to try it and compare it to Windows XP. My dad was understandably hesitant and made me promise that I wouldn’t lose any of the files. I bought a second hard drive, burned the install CD, and started the installation. After some phone calls to my friend about GRUB and the master boot records, I had a working installation of Fedora.
After installing Fedora, I found that Linux had very poor support for dial-up modems. Our computer had an internal soft-modem, and I tried everything to get it connected to our dial-up ISP. I compiled programs and drivers from source, re-configured and re-compiled my kernel, and did some extremely basic source code editing. I was never able to get the soft-modem working.
After failing with the soft-modem, I decided to install Linux on an old Windows 98 machine that we had in our basement. Since that machine didn’t have many resources (7GB hard drive, 64Mb RAM, 600MHz Celeron processor) I installed command-line-only Slackware. Since my dad didn’t want to run Ethernet cable down to our basement, I set up two WRT54-G routers in WDS-mode to connect the new server to the old computer. I shared the internet connection in Windows XP and allowed the server to connect to the internet whenever we were dialed in.
I set up an account with DynDNS (dynamic DNS service) and started running a website out of our basement. I taught myself about DNS, networking, web hosting, and Apache. I set up a bulletin board (phpBB) to let my friends have discussions on my website. Since the site was only available over dial-up, my friends would call me up and tell me to connect to the internet whenever they wanted to post.
I then started teaching myself HTML, CSS, and web design. I designed several iterations of my website, each getting more advanced.
I tried several distributions of Linux over the years. Fedora was too big to run on my small server, so I switch to Slackware. Slackware didn’t have a good package manager and required all packages to be compiled from source. I switched to Gentoo because I thought that I would maximize performance by having the package manager compile everything for my exact architecture. Gentoo compiles became too slow, however (Ethereal, now Wireshark, took 48 hours to compile due to insufficient memory), so I switched to Debian. I later tried Ubuntu but have switched back to Debian due to its lightweight install options and good package manager.
Over the years, I have used this server to teach myself about NTP, SMTP, POP, IMAP, HTTP, HTTPS, SSH, DNS, SSL/TLS, kernel configuration, Linux development, networking, iptables, SAMBA, NFS, and many other technologies.