Ubuntu is not just a religion
My introduction to personal computing came in the form of an Apple II that was borrowed from the school my mother worked at over summer vacation. It was beige and bulky. It came with a big sheet of paper warning against powering on any of the components of the computer until after they had been assembled. It had a floppy drive to load programs, and when you switched it on you were greeted with a white blinking box cursor against a black screen, with no clear indication on what to do next other than to type in whatever had been conveniently written on the label of the 5.25" floppy diskette in order to launch the program.
I also had a brief subscription to a computing magazine which featured programs that could be typed into the cursor and run, which would then accomplish things that would be considered "boring" by today's computer users, such as create a simplified game of hangman or initiate a series of questions with multiple choice answers. My level of understanding about how computers work began before the advent of the "mouse", without which few people would be able to operate their systems today.
Nowadays it seems like most people regard their computer with a sense of awe and mystery. Microsoft and Apple both take great pains to hide the man behind the curtain - they don't want the users of their operating systems to know or understand precisely what is going on behind the scenes. They intentionally make it very difficult, sometimes even impossible without the use of special 3rd party software, to gain access to these hidden recesses. In Microsoft's case this works against the common user because the developers of malware use Microsoft's own obfuscation against their customers as they infect and zombify hundreds of thousands, if not millions, of computers running the Windows operating system around the globe. In Apple's case the walled garden system is in effect, protecting their users from these outside influences that might otherwise despoil their nigh perfect operating system experience.
Where does that leave someone who did not purchase a computer that was assembled by HP, Dell, Apple, Acer or any of the other computer manufacturers who mass produce systems? Someone who carefully selected their individual components, assembled them together by hand and established a working machine that was now waiting for a personalized operating system tailored to their needs?
Granted it is possible to customize Windows to a certain extent, and for those who are willing to hack certain locked down features it is possible to push that customization much further than Microsoft ever intended. But there are limits to what is possible, and there is a strong possibility of inadvertently opening holes in the Windows (limited) security in the process, especially if you are using 3rd party tools to do so. Why would I want to risk my operating system's security just so I can make it look and feel the way I prefer?
Look and feel are very important components of computing for me. Even though it is merely a virtual environment comprised of multicolored pixels arranged in a certain patter on my screen, aesthetics directly impact my computing experience. I want to be able to control all aspects of that layout, particularly if I am not entirely fond of the current UI (user interface).
I've been using and repairing Windows based systems since Windows 3.1 was released. I have used every version of their Windows operating system up to and including Windows 7. I am sick of their UI. I am sick of the Start button, even if it is merely now a Windows logo. I am sick of the task tray, I am sick of the size of the tray and the amount of real estate on my screen it consumes. I hate icons on my desktop, cluttering the window space and obscuring my wallpaper. Windows is ugly.
Why have I used Windows for so long? The illusion of convenience. Windows computers are cheaper than Apple computers. Microsoft's greatest skill is in marketing their products to the large masses. Mass consumption means mass production. People who develop computer software tend to develop for the Windows platform because it is the most commonly used platform (the same holds true for people who develop viruses and other malware). I'm a gamer, and PC games that are developed for Windows tend to run best in Windows (big shocker there). They have less issues during installation, they perform better, and graphics accelerators are better supported and offer better rendering quality and speed.
Another way of saying all of this would be "herd mentality". I used to use Windows because most other people do. If this reason were no longer true most of the issues laid out in the previous paragraph would vanish almost overnight. If everyone used Mac computers, for sake of example, then most developers would produce software for Mac computers. I also suspect there would be an increase in incidents involving Mac computer security, such as viruses & other malware, although because the OSX operating system is built on a UNIX platform, it is unlikely these computers would ever see the same level of infection that Windows users experience.
People think Windows systems are less expensive. This is the furthest statement from the truth, and one of the biggest lies that I have had to tell customers when trying to sell them a Windows PC (not that I tried very hard) was that it was a good value. The truth was, a custom PC built at the shops I worked for were a good value when compared to the mass-produced garbage offered for the lowest pricetag from major PC manufacturers such as HP, Dell and so forth. Anyone who has purchased a computer for under $500 and has owned it for more than a year already knows how unreliable these systems can be. The part that nobody seems to consider is Total Cost of Ownership (and I use capital letters for a reason). When you purchase a <= $500 computer you are in fact purchasing only PART of the system. These computers do not include a printer, which is a commonly needed peripheral. The printer does not include a cable to attach to the computer in question and will also probably require additional supplies in the form of paper, toner or ink. Also, the computers do not include everything needed to establish a connection to the internet (with the exception of wireless networking combined with computer owners who have no ethical quandary regarding "borrowing" their neighbor's unsecured internet service) - most people need to establish internet service of their own and possible purchase a modem and/or a router and/or cables to connect their system(s) to the internet in some fashion.
Additional items that are Windows specific may include but are not limited to: antivirus software, firewall software (typically redundant and unecessary on Windows XP, Vista and 7 systems), support contracts, Office software, Windows operating system upgrades, software to decrypt DVDs for playback, software to record data to CD-R/RW or DVD+/-R/RW, technical support calls to Microsoft (very expensive), repair technician service, hardware replacements, and COUNTLESS HOURS OF PERSONAL TIME which is the biggest and least quantifiable expense. None of us know how much time we have left on this earth, and none of us can therefore assign a proper dollar amount to each hour we spend fighting with our Windows systems, trying and failing to get them to do what we want.
Why does this happen? Because there is no standard. Microsoft's great marketshare is based on the simple fact that their developers promise to manufacturers that their software and operating systems will work on most computer configurations. The actual percent of accuracy to these promises is open to debate. Suffice to say these promises do not hold a 100% accuracy.
This is where Apple shines - by restricting their operating system to known, internally tested and trusted hardware, they ensure that their product will only fail due to...hardware failure (or a bug that somehow magically manages to escape detection during quality control). Apple is by no means perfect, but they are far closer to that 100% mark than computer manufacturers who build Microsoft based systems...much much closer. When you pay extra for an Apple computer, you are paying for the extra peace of mind that comes with knowing when you plug in an Apple peripheral, it will just work without any special configuration settings, driver downloads, firmware updates or other forms of voodoo. Truth be told, the extra price you pay is probably dwarfed by the savings in Total Cost of Ownership, primarily in the savings of Your Personal Time.
But I hate a walled garden. I like to peer on the other side and dabble. I like to live dangerously, but not too dangerously. Because truth be told, I don't like the idea of spending days repairing systems that have gotten so fiendishly damaged from various infections as to be nigh unusable.
So Apple's OSX is too restrictive, and although it provides an appealing, pleasing UI and a beautiful environment to work in, I don't have the (legal) freedom to install it on any hardware I choose. This is disappointing, especially since Apple uses nVidia and Intel hardware in their computer systems, and I maintain an intense hatred for both of these manufacturers.
On the opposite end of the spectrum, Microsoft's Windows system is not restrictive enough to protect the computer from evil outside influences, even when it has been locked down with a limited access user account, software firewall coupled with hardware firewall, highly rated antivirus respected by the security community, and the usage of common sense. Even with all of these things in place a Microsoft Windows system can be compromised by surfing on a website using Java or Flash banner advertising. Good luck avoiding those. And to be blunt, no I do not think disabling Flash and Java within the browser is a good workaround, because you lose far too much functionality in the process.
That leaves us with LINUX. My preferred flavor? Ubuntu.
Let me add a caveat in case you were not following the above section closely. This article is not me recommending to everyone to drop their Windows or Mac systems and switch to Ubuntu or some other distribution of LINUX. This is me documenting my personal experiences and preferences. I do not recommend LINUX to everyone - in fact I would advise against LINUX for most people unless they fall into one of two categories: a) they are very technically savvy and love to tinker and learn how computer systems work from the nuts and bolts level, or b) they live with someone who falls under category "a" so long as that person does not mind helping them fix problems with their computer. If you do not fall under either of those categories I advise you to get a Mac. Seriously. I cannot under any circumstances advise you to buy a Windows computer. If you don't have enough money to get a Mac, save up money until you do. I'm not kidding around about this. Windows is not worth it. Please, for the love of god, stop reading this article and start shopping.
If you are a Windows enthusiast/fanboy and feel the need to chew me out in the comments or by sending me feedback, let me warn you now that I will not only purge your comments & delete your messages but I will also ban your IP address range, indefinitely. So if you are feeling the urge, do yourself a favor, keep your thoughts to yourself and go elsewhere.
To start with, this website is being hosted on Ubuntu's LAMP server (Linux + Apache + MySQL + PHP). Drupal recommends Apache, MySQL, and PHP is required, so all needs were pretty much met as soon as the installation was completed. I've run into a few issues where PHP-GD was not included in the Ubuntu sources, and I had to compile my own, but that has been addressed since the release of 10.04 LTS (Lucid Lynx). I've eliminated all but text UI, and the machine is literally only connected by two cables, one for power, and one for network. All access is done with ssh, either using PuTTY if I'm being forced into using a Windows computer, or else from a terminal emulator within Ubuntu's desktop OS on my other systems.
What I'm getting at is this form of access brings me back to my computing roots, all the way back to that Apple II. Command line interface, where there is nothing more than a black screen with white text and a blinking cursor. Of course some modifications to modern terminal emulators allow the use of background images, transparency and more, but the point of the matter is that I'm going back to the nuts and bolts of computing when I am updating, changing and improving the server and the websites it hosts. Some of you may be scratching your heads and wondering why I think that's a good thing, so let me spell it out.
- Overhead - no GUI (graphical user interface) means the system runs faster and uses less resources while doing nothing - this server is running on an old Pentium 4 desktop computer with 1GB of RAM and a 40GB hard drive, and still has over half the drive space available. Find me a Pentium 4 desktop system that can run the latest Windows 2003 server without any trouble (a nod here goes to Windows 2008 server no longer requiring a GUI as part of the installation)
- Security - no keyboard + no mouse + no monitor all = no easy access to the server by anyone who is not familiar with it's IP address, user accounts that have been granted SSH access and their passwords. This has been brought up time and time before but one of the biggest reasons I like Ubuntu is that it does not use an active "root" account for administration, but rather the SUDO command on priviledged accounts. Please bear in mind that LINUX is not bulletproof, but this one feature is a blessing because the root account is the account most targeted by malware scripts, searching the internet for vulnerable LINUX systems. By making it inaccessible this foils the majority of those scripts in one fell swoop.
- Reliability - no GUI also means crashes are extremely rare - my Ubuntu server has been running for years without crashing. Periodic reboots are necessary after LINUX kernel updates are installed, and there is always going to be the occasional power outage, but overall this system just keeps chugging away day after day without worry about severe memory leaks or other common issues that tend to crop up with graphical interface. Also, because the graphics card is pretty much unused, the motherboard draws less power from the power supply, generating less heat and prolonging the overall lifespan of the server hardware.
At this time I would be hard pressed to use another OS for my server environment, unless someone was to provide me with a free version of UNIX with unlimited free updates and upgrades. In the event that I decide to move this site to a hosting provider, one of the requirements is the provider must offer LINUX based hosting, and preferably of a Debian derivative (for those of you not in the know Ubuntu is based upon the Debian distribution of LINUX).
This brings us to the Ubuntu desktop operating system. The default Ubuntu desktop window manager is Gnome, which has been in my experience a good blend between performance, usability and appearance. Modern releases of Gnome require a fairly recent computer system to operate smoothly, especially if compositing is enabled (compositing adds effects to the desktop environment using OpenGL via the system's 3d graphics accelerator). Kubuntu is another release of Ubuntu using the KDE desktop environment for those who love as much eye candy as possible (there is a certain cost in performance, especially on older systems), and Xubuntu is great for older systems because it uses the XFCE windows manager which requires few resources and is very fast. There are many other window managers out there, and Ubuntu supports most, if not all of them. They are each up to one's personal preference. I prefer Gnome because it looks good, is easily extendable with additional themes from Gnome-Look, and in Ubuntu's distribution offers easy navigation through menus that have been broken up in to three distinct categories, which is a far cry from the single Start button in Windows. The screenshot above is from my MSI Wind netbook, and I have the bottom taskbar set to auto-hide to maximize real estate on the 1024x600 resolution 10.1" screen.
I recently wiped out my Windows XP installation on my home desktop computer system, Lain. To sum up for those of you who don't want to read the background post - the system became infected with a drive-by rogue antivirus program even though I had locked it down as described above, and was falsely reporting 30 infected files found on the system and requesting to download a scanner to look for more. Enough was enough - I cleaned all traces of the rogue software before cloning my system to another drive as a complete backup, and then added another 2GB of RAM to Lain, bringing her up to 4GB total. Then, because the processor is a 64-bit AMD Athlon X2, I loaded Ubuntu 10.10 AMD64 Desktop (64-bit edition), and took it for a spin. One note - since Lain was assembled she has suffered two hardware issues - one was a failed cooling fan on the GPU of the Radeon HD2600 XT graphics accellerator, and the other was the onboard 10/100 network adapter started working intermittently and then failed altogether. I had in my donated pile of old computer systems and components a 3Com 3C905-TX 10/100 PCI network card that was in perfect condition (there are probably some readers out there who know these cards are nigh indestructable, though sadly no longer manufactured - this one is roughly 12 years old and still going strong). This network card was supported by Ubuntu 10.10 AMD64 but the network manager was not pulling an IP address from the router via DHCP, so I manually assigned an IP address in /etc/resolv.conf and was on my merry way - I had intended to manually assign a fixed IP address so I could set up remote access (which still needs to be configured, although I am hosting Minecraft SMP on this machine now instead of the Pentium 4 - visit the Minecraft page for details).
Ubuntu 10.10 64-bit is FAST. Not just in terms of how long it takes for the computer to be usable after I switch it on, which in itself is ridiculously fast, but in all aspects of use. Browsing the system with Nautilus, launching browsers, navigating the web, installing software - all of it makes Windows XP seem slow by comparison. Granted the 2GB of additional RAM make a difference, but I could have only installed 1GB in Windows XP thanks to 32-bit limitations, and it wouldn't help it run any faster than when it had 2GB installed. Ubuntu takes full advantage of all of the RAM and it shows. I had previously tried Ubuntu 8.10 Jaunty Jackalope 64-bit alongside the 64-bit Windows 7 Alpha, and at that time Windows was significantly more usable. This is no longer true. Great strides have been made. I have been able to install Star Trek Online using a combination of Wine and Play on LINUX. While there has been a performance hit in High graphics mode, it is fully playable with graphics set to Low. I am now looking into obtaining a Radeon HD 5670 1GB graphics accellerator as an upgrade for Lain (probably as a Christmas present from Santa).
So where am I going with this post? Let's just say that I am a happy camper now that Microsoft's inferior products are no longer on my computer. Granted more work is involved in getting software that was not designed for LINUX to install and run properly, but when it works, it keeps working. My two favorite games at the moment are Minecraft and Star Trek Online, and both are running just fine. Other usability is a dream. The interface is wonderful. Multiple screens are supported (I have our TV hooked up as a second monitor and use it at will without needing to reboot the system - came in handy last night when watching The Last Airbender). It is a joy to use my computer once again, and that's all I really wanted in the first place. Ubuntu is my religion - I am not a zealot, but I am definitely a convert and a disciple.
