I love using linux. Up until just over a year ago I had never used linux, though - I had no idea what it was other than it had something to do with UNIX and hackers like it.
When I interviewed for my first web development job one of the first questions was "Are you comfortable using linux?" I thought "Why would I need to know how to use that?" -- newb mistake. After having spent the past year or so doing web development on linux, using Ubuntu, and experimenting with home servers, I want to reflect on some of the things using linux has taught me, because I believe that using linux has taught me more about computing than all my years of windows ever did. All my experience has been using ubuntu, so that's where I'll be talking from but the same is true for most other popular/main-stream distros.
1. The best things in life are free I was surprised when I switched to linux how much of the software I already used was available to install. Ubuntu's desktop version comes with Firefox, OpenOffice, GIMP (image editing software), ipod-compatible media player, Instant Messaging software, the list goes on. Even better, though, is that it's really easy to install software. Select the programs you want and they are downloaded and installed and ready for your use. Yeah, it doesn't have Photoshop or Microsoft Word yet, but the quality and diversity of open-source software is pretty amazing -- and you can always use virtual machines to run those other OSes for the rare functionality you can't get with linux.
2. Hard work is its own reward You're going to have to edit some settings files. In an ideal world it just works, but when it doesn't usually the solution will involve running commands and hand-editing settings files. Thanks to sane defaults and GUI tools many desktop users will not have to worry about this, but I did when I was trying to get my wireless card working the first time. I googled and found a long list of commands I needed to run, in addition to some files I needed to edit. It chafed. But after bumping into issues for long enough, it becomes second nature to prod at the settings files, google the issue, fix it and learn something in the process (its almost a lock that some other guy has had the same issue and has blogged about it or posted about it in a forum). With a lot of software, its often only through editing configuration files that you can really accomplish what you need, so for better or worse, you're going to have to edit some settings files.
3. Appreciate diveristy Windows is a good product - it's improved a lot since the Windows ME days and a lot of people run XP. I haven't tried out Windows 7 but it promises to fix a lot of the bloat-flack Vista was getting (and deserved, in my opinion). The thing about windows, though, is that its a closed box. You can peek inside and see the gears turning but you can't really control or change the way it functions at a low level. There's a trickle-down effect - if its closed at a fundamental level, it will be closed elsewhere. The thing is, for a lot of users, it doesn't matter. Linux, by contrast, is open -- you can recompile your linux kernel, make changes to the programs you use, control the way your computer runs down to the minutest detail and everywhere in-between. After dealing with some of the common linux issues (wifi drivers, sound, unsupported hardware), I can appreciate why windows controls the bulk of the market -- lots of people just want to run their programs and get on with their life.
4. Less is more The command line is utilitarian. It does some stuff to help you out (autocompletion, reverse history lookup), but it won't tell you if the command you're about to run will make your system unusable. Learning to use it effectively, especially to automate repetitive tasks, is a process. But you can accomplish pretty much anything from the command line.
In summation Would I install linux on my parents' computers? I'm not sure. It's not that I don't think linux is ready for the regular user. It's not that I think my parents would be unable to use google if they had an issue. It's rather that I just think they wouldn't want to. I think that's what it comes down to. Linux requires you to be ready to deal with the issues, because there will be some. And fixing them will only be worthwhile if you enjoy the process, and value the knowledge you'll gain by doing working through it.
Comments (0)
Commenting has been disabled for this entry
