There was a good article on digg.com today called Things I can do in Linux that I can’t do on Windows.. Since that server seems to be crashing badly , someone pasted the list in a digg comment, and I wanted to share my thoughts on each bullet point as well:
1. Update every single piece of software on my system with a single action.
This is one of the main reasons I run Linux. Sure, Windows has Windows Update, but that only updates the operating system, Office, and a few other things. For every Linux distribution I’ve used (Gentoo, Red Hat, Suse, Ubuntu), updating is simple. When you update, you have every application, every library, every script – every single piece of software upgraded automatically for you. And on most of them, they will check for updates automatically and notify you. This is great for security, fixing bugs quickly, and getting the latest in features.
Think about the simplicity of this — Wouldn’t you love a single Windows process that could update Windows, MS Office, Adobe Photoshop/Illustrator, WinAmp, Firefox, Opera, Thunderbird, MS Money/Quicken/Quickbooks, etc., all in a single session? This exact functionality is built into every modern version of Linux. Every third-party application that gets installed or is available through ‘portage’ or ‘apt’ or ‘up2date’ etc., can be updated in a single shot. Not to mention that you can update critical updates right away instead of waiting until Patch Tuesday next month while virus writers and black had hackers are exploiting your box.
2. Update nearly everything on my computer without a reboot.
On Linux, there is only one thing that requires a reboot after updates. The kernel. And even then you can continue to run on the previous kernel. You just need to reboot to get the benefit of using the new kernel (say, if it has a bug fix or a new feature). In Windows, many of the updates to even non-critical software require reboots.
My biggest pet peeve about Windows since Win95 is that just installing the OS now requires a handful of reboots just to get the OS itself installed and immediately run Windows Update. I think the last time I installed Windows XP SP2, I still needed to run Windows Update 6 or 7 times just to download a set of patches and reboot, only to find even more patches needed. With Linux, you run a single update and I think in the 13+ years that I’ve been using Linux, I can count on one hand the number of times I’ve had to re-run the update utility to fetch extra packages.
If you’re running 20 versions behind on the kernel, for example, Windows would probably have you upgrade every single step of the way and reboot every time. On Linux, it would just download the very latest version which includes all of the latest patches. It astounds me that Microsoft never built a ‘cumulative’ patch set, where if you install a new copy of the OS, you just install a single file to patch everything in one shot instead of downloading dozens and dozens of individual patch files that need reboots along the way.
3. Keep my system secure without software that consumes my system resources, requires my time, and frequently nags me.
Basic requirement for a secure Windows box include:
1. Running antivirus protection. AV software consumes resources and requires routine scans.
2. A software firewall like ZoneAlarm or the one built into Vista that constantly asks you if you want to allow software to contact the Internet. More time on your part.
3. Running Adblock Adaware and/or Spybot Search & Destroy on a routine basis, consuming your time, and requiring your manual intervention. People often forget or don’t “get around to it”.
4. Never trusting software. You have to go through life assuming every bit of software and every website on the Internet is going to screw you over. What a sorry state of affairs that is.All of this requires your attention, slows your computer, and ruins the open experience of the Internet. None of this is necessary in Linux. You get your software through your distribution. As long as you can trust your distribution, you can trust the software available. Having a firewall is a good thing even in Linux, but most of us have a firewall built into our Cable and DSL modems, or our wi-fi router. A software firewall in windows is as much used to keep malware from calling out as it is to keep outside intrusions from coming in, and you don’t have the same concerns in Linux (since, as I said, you can trust your software).
In full-disclosure mode, iptables, the most common firewall in Linux, is a software-based firewall much like ZoneAlarm would be (from #2 the above list of 4 things), except that the firewall software plugs directly into the kernel making it much faster than a third-party software application would be. I fully employ both a firewall in my cable modem AND a wifi router before traffic even gets to my Linux box, and then also have iptables running.
In a perfect world, I’d have a second network card in my Linux machine to provide the Internet connection for my wife’s Windows box at home, but she’s smart enough to watch out for spyware and junk.
4. Run an entire operating system for free without pirating software, and without breaking the law.
Most Window’s users seem to accept that breaking the law is okay, because it is pretty much required. Either you break the law, or spend countless thousands of dollars on the software you need. You may not think it is a big deal, but if you own a home like I do, you are putting it at risk. While unlikely, the potential is there for software companies to come after you just like the RIAA has come after countless people. With Linux, this isn’t necessary. You can run the software you need without paying for it, and without breaking the law. I know I sleep better at night.
The joy of Open-Source Software (OSS) is that most of of it is free of charge. I’ve never understood the free-as-in-speech or free-as-in-beer analogies that float around when discussing OSS. Still, this is a very valid point — Windows software is EXPENSIVE! By the time you buy ‘typical’ software for running a home business in web development, Windows Server edition, Adobe tools, MS Office, Quickbooks, Visual Studio, you could easily spend thousands of dollars, when everything you need to succeed comes free with Linux, including Apache/PHP/MySQL, .NET tools, Bluefish/Eclipse, OpenOffice, GnuCash, etc. all free of charge, and like point #1 at the start of this article — all of these software packages update automatically using your distribution’s installer-of-choice.
5. Take my settings with me where ever I go.
In Linux, all your personal settings are stored in your Home folder, most in folders that begin with a period (like .gaim). So, I can copy all these settings from one computer to another. I can put these settings on a USB drive. When I switched from Gentoo to Ubuntu, I kept all my settings. On Windows, some settings are under your home folder and some are in the registry. So your settings are not portable.
Good Lord, I’ve lost track of how many times I’ve had to back up the entire C:\Documents and Settings\ folder to have access to bookmarks, settings, etc., or how many hours I’ve had to spend exporting registry keys for backing up registration codes/serial numbers for software with limited number of installs (also something that doesn’t generally occur in Linux). The original author’s idea of backing up his settings in a USB key is nice, sure.
I prefer Subversion, myself, and use Google’s “Browser Sync” and another third-party application for bookmark sync’ing, to keep a lot of my information available wherever I go. I have Google’s Browser Sync installed on 5 systems, so any sites I visit are available in my browser history on all 5 systems, and having bookmarks sync’d, man that’s just a little piece of heaven right there…
Windows is horrible for a standard location for settings. Some are stored in the application’s folder under “Program Files”, some are stored in your Windows folder, some are in the registry, some are in your “Documents and Settings” folder under “Application Data” or “Local Settings”, some are in your “My Documents” folder — good grief people … get organized already!
6. Run Internet Explorer 5.0, 5.5, 6.0, and 7.0 on the same desktop.
I have all installed thanks to the wonderful IEs4Linux project. I can even run them side-by-side if I want. For a web developer, that’s huge. Testing browser compatibility to that level on Windows requires multiple machines or something like VMWare. Further, when I run IE under Linux, I don’t have to worry about any malware or virus getting onto my system.
Having ‘wine’ available to emulate Windows for running a lot of software is sure handy. For example, I have Dreamweaver and Fireworks running on my Gentoo box thanks to wine. Granted, I still need to look into the IEs4Linux project as I do have clients who use IE exclusively and I need to make sure all of my development is cross-browser and cross-platform friendly. Now if only I could get a Mac emulator to ensure my pages look right on Safari, I’d be happy…
7. Understand everything that is going on in my computer.
Using Windows is like working with a black box. You can see the outside, but you have no idea what is going on inside. If you hit snags, your only option is to hope Microsoft fixes it. Or, perhaps you can submit a bug report to Microsoft, spending your time improving software that a company makes billions from. Under Linux, you can look at the system logs, where you can see most issues. You can search for the log messages on Google, and can usually track the cause and often find a fix. If not, I can even go look at the source code to find the offending problem. Granted, most people aren’t capable or don’t have the time to look at the source code. But the fact that tens-of-thousands of geeks do is often very, very helpful. And if you do spend the time filling out a bug report, you are helping other people just like yourself, not contributing your time to a rich software company.
Granted, running Linux will propel you into a level of ‘geek’ you’ve never experienced before. Most of my clients don’t care what their computer is running as long as it’s fast and isn’t full of spyware/malware. They don’t know, they don’t wanna know. “Ignorance is Bliss” seems to be the mantra of many people who simply just want a computer to function the way they need. But again, back to the beauty of open-source software, having tens of thousands of geeks like me rifling through source code to figure out a quirk in a piece of software, then submit a patch/fix, then have that piece of software get updated for pretty much every Linux distribution out there, means that if I’m running Gentoo and find a bug fix for Apache, that every other distro (Ubuntu, Slackware, Debian, SuSE, etc) running Apache can benefit from my work.
8. Customize every aspect of my desktop.
In Windows, you are more or less stuck with what you are given. Sure, you can install buggy skinning engines, or you can pay Microsoft extra for the ability to put skins on your desktop. But even these aren’t very adaptive. It’s just a new coat of paint on the same desktop. Under Linux, I can choose the window manager, the desktop environment, the theme, the GTK engine, the icon theme, the special effects (see Beryl or Compiz), the filesystem browser, and so on. Nearly every aspect of the system has competitive options. If you look around the internet at screenshots of various Linux desktops, you rarely see two that look the same.
At the nuts-and-bolts level, “Linux” is really just the kernel that makes everything run. Building everything around it is your “distribution” or “distro”, and each distro tends to favor various windowed environments such as Gnome, KDE, xfce and such, and then even within those you can have different theme engines running which affect your user experience. On Windows, you get your ‘kernel’, and a single window manager (“Windows”), and while you can install third-party theme packs like WindowBlinds, they just add a layer to the already-too-bulky graphical interface that makes up Windows. Even with the “Plus” packages that Microsoft sells for extra themes, there isn’t that much of a difference in how they operate because they all just run on the same .NET framework.
9. Benefit from competition between projects for each system on my computer.
As I mention in point 8, there are options for every aspect of the Linux desktop. Not only is it fun to try the various options, but it leads to better software as multiple projects compete against each other to be the best. Can you imagine competing printing backends, competing desktop environments, or competing USB mounting systems on Windows? I’ve been a Linux user for 3 years now, and I’ve seen remarkable changes in systems used on the Linux desktop, from critical systems (XFree86 switched to X.Org, auto-mounting systems) to non-critical (my CD-Rom eject button works!).
A good point is made here — imagine multiple vendors trying to compete for how your USB peripherals connect. Egad… the humanity. I’ve seen similar Linux projects merge over the years, and I’ve seen common software branch into multiple distinct branches of software to cater to different groups. At the end of the day, our common goal is to make your end-user Linux experience a pleasant one.
10. Run thousands of great pieces of software that only run on Linux.
Just like Windows, Linux has software that doesn’t run on Windows. Great pieces of software like Amarok, Bluefish, Neverball, Gnumeric, K3B, Beryl, gdesklets, and MythTV. I know this is a chicken-and-egg point, where Windows has the exact same situation. Too often I hear “I can’t switch to Linux because it doesn’t run [insert Windows software]“. My reason for pointing it out is just to make it clear that this is a two-way street.
Yes, there are certainly lots of Linux-only software projects that get plagued with comments like “When are you going to port Amarok to Windows” to get replies of “Uh, never?” Granted, there are likely thousands of Windows-only applications for every Linux-only application, but when you keep in mind the open-source mentality of tens of thousands of geeks like me hacking away at the code to make that one application better than the thousands of Windows applications that do almost the same thing, we win out in the end.
11. Learn about, support, and appreciate the value of free software.
I believe free software is important to us all. Even if you use non-free software, the free software movement ensures checks and balances on non-free software by offering an alternative. By running a free operating system and becoming involved in the community, I’ve contributed to free software, even if only in a small way.
The biggest concern for people about switching to Linux is lack of customer support. If you get the OS for free, who can you call to get help? Truth is, you only get one free phone call to Microsoft anyway, if you get stuck, and then you pay up the wahzoo for any additional help. With Linux there are literally thousands of support forums and Email-based mailing lists that offer help to new people switching to Linux. You’d be surprised at how many people will greet you warmly and offer all the free support you can handle just by starting a message with “I used to use Windows, but now I use Linux full time, and I need help with …” I’m one of those people. I try very hard to convince my clients to switch from Windows to Linux and have met a lot of resistance. My best comeback is “I can support you better if you were on Linux…”
0 Responses
Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.
You must be logged in to post a comment.