I've been programming since a young age, and Linux has always seemed like a natural progression, especially as my development environment is PHP/MySQL/Apache. A while ago, this was all done on a Red Hat installed system, using the “Plesk” web interface. Although I spent quite a few hours at the console sorting out problems, Plesk hid the real nitty gritty from me and I was often just following “How Tos” in order to get things fixed. In saying that, I did manage to write a wrapper script that fixed a compatibility between MailMan and Plesk, so I wasn't doing too badly. However, I would hardly say I felt confident in Linux, and using it for my day to day work seemed strangely frightening.
They say that necessity is the mother of invention, and this ties in greatly with productivity. Windows has always done everything I've needed it to do, and moving OS offered little or no benefit to my productivity. It was just a lot of hassle and a steep learning curve.
However, around 18 months ago, I built a file server for my LAN, using a VIA Epia 800MHz motherboard and a couple of 200GB hard drives. With Windows installed, it was so slow that I had 10 or 20 second delays when trying to access the share across the network. The overhead of Windows was just too great for it to work effectively – odd for such a minor task. Finally I had the necessity and I decided to give http://fedora.redhat.com Fedora Core 4 a go. Fedora is the free version of Red Hat, and is actually used on many web servers (including this one). It's use on web servers was a key reason to choosing this, as I wanted an environment that was similar to the Red Hat box I was used to, while also learning skills that could be transposed directly over to web server administration. Interestingly, a Fedora is the type of hat shown in the Red Hat logo (something a girlfriend of mine had to point out to me), so it is in fact a little play on words.
Installing Core 4 was painless and before I knew it, I had set up a fully secure file server that was almost instant to access. It was amazing how much difference in performance there was. When mapped as a network drive, it felt like it was a drive in my computer.
One of the great things about Linux, is its flexibility. If you can think it, you can do it. So instantly, I started adding more functionality to my machine. Remote access, streaming MP3 servers – I could even check the temperature of my hard drives through a web browser. Although much of this was done through the console, I still started to get a good feel for the GUI using VNC.
About six months ago, I decided that I was finally comfortable enough with Fedora to give it a go as my office machine. Down came an ISO of Fedora Core 5, and I prepared a machine. The machine I built was a 3.06GHz Pentium 4 with HyperThreading, an ATI Radeon 9200 and 2GB of memory. By today's standards, a fairly low-end machine. But more than enough for my needs.
Installing Fedora was no problem and I felt instantly at home. One of the benefits of Fedora is “yum”. Using this, I can install applications without having to hunt down the source and compile it. From the console, “yum install firefox” would download and install the latest version of FireFox, compiled for my system. By using the yum system, you can periodically run “yum update” and any newer packages can be downloaded and updated. There is also a GUI front end to yum, should you be afraid of using the console.