Over the past few months, I have grown as a person. I am now a Windows XP/2003, Mac OS X, RedHat Linux, Fedora Core, and FreeBSD user. Now, there are people from every camp that will tell you that their platform is the best, but I’ve seen what is truly great about each and I now know that there is no right answer, each has it’s strong points and each has it’s own purpose for existence.
Linux, for example, is where a lot of developers do their thing. The bleeding edge sources for all of the coolest server apps, for the most part, come from Linux. Take asterisk as an example. Sure it’s ported to everything else, but the latest and greatest will always be available first on the Linux sources. iptables on Linux is also a terrific package. Making a stateful firewall work quickly and reliably shaping traffic using tc is far superior to ipfw and it’s queues.
Windows is where you want to be for a lot of your desktop operations. There are a lot of little programs that developers have written over the years and they just don’t work correctly anywhere else. This is especially useful if you want to do something you shouldn’t be doing. If you want to do it, it can probably be done in Windows. The Windows IP stack is slow and requires requires really expensive hardware to run like it should. As a server, Windows demonstrates copious amounts of suckage.
Mac OS X has the pleasure of being able to run BSD in the background, so all the cool stuff you want to do from your desktop (rsync, mounting network file systems, etc…) can all be done by opening up a terminal window. Plus, you can run X, so many programs that you know and love can be run natively in OS X, but also most other things can be run in X.
FreeBSD has always had a place in my heart. Where else can you automatically gather up all of the dependencies for an application and do a custom configuration in one make line? The ports collection is where it’s at, and you’re not going to convince me otherwise.
So, how does it all work together? Run OS X on your desktop, use the free remote desktop application to connect to your Windows machines, use ssh in terminal windows to connect to your servers running FreeBSD and your primary router using Linux.