With the latest release of Ubuntu (a flavor of Linux) open source operating systems have never been more user friendly. It’s still not for everyone, but how are you going to know whether it is for you or not if you don’t try? And trying Linux is so easy these days. After burning a CD or DVUD with the disk image downloaded from the Ubuntu website, simple restart your computer and you should be given the option to either install the OS to boot direct into Ubuntu’s version of the Linux desktop. Trying out the desktop without installing it doesn’t affect anything installed on your hard drive, your computer has just booted up from the CD. (The downsides are that reading data from external media can be slower than from the hard drive, and since the CD is read only, nothing you do in this test mode will be remembered after a restart.) But starting up your computer this way isn’t a long term solution, it’s just a way to find out whether Linux is something you’d be interested in installing and learning to use. If you do, the CD will walk you through installing Linux next to your existing OS so you’ll have the option to start your computer into either one.
Why should you try Ubuntu? There are all sorts of philosophical big picture arguments people make about open source software (software than can be freely redistributed or modified by anyone), and another set of pragmatic ones about never having to pay for another version of Windows or Mac OS X, let alone Microsoft Office, and Ubuntu’s safty from viruses and spyware. There’s even a third set based on personal hatred of Microsoft and everything it represents. I can get behind all of those, but for me, there’s a single compelling reason to spend at least part of every day using Ubuntu or another version of Linux.
On a window’s computer the gap between being a computer user and a computer programmer is a vast and gapping chasm. Trying to jump from a person who uses computer programs to someone who writes them takes a lot of knowledge, and it takes a long time before what you learn about programming actually helps you accomplish useful tasks. On Macs the gap is narrower, and that’s where I first started writing code. In Linux the gap is the smallest of all. People can even drift across it accidentially. And the code you start writing is immediately useful for things like data analysis.
Linux breeds superusers. People who don’t just use programs others have written, but when confronted with a question no one else has ever asked, or a problem no one else has ever addressed, can still get their computers to do what they want. Two guys who came in the same year as me started using linux this past summer for the first time for a two week python course (only one week of which was useful, I was there). Now one of them is writing C++ code for his phylogenetics project, and the other programs his lab’s liquid handling robot. Both are getting things down in weeks or months that without the ability to write their own code would take a big part of their entire doctoral research (or just wouldn’t even have been considered feasible in the first place.) As in any field, once you know enough to get results, learning begins to snowball and before you know it you’re doing things you never thought you’d be able.
Most people will never have the skillset to be a professional coder. I’m been writing code for two and a half years, and I’m not even at the level of Computer Science majors I knew at the end of my freshman year of college. But you don’t have to be great. There are so many problems both at work and and home that are easier when you can write even short scripts. Especially working in an open source environment where in many cases you can find some code someone else wrote and adapt it to your problem.
Did I mention how awesome it feels the first time you write something just because you’re interested in the answer? Mine was crunching some election data. I probably could have made that map by hand. It might have even been faster that troubleshooting the code I wrote, but when it was done and I could finally hit enter, and my computer would crack through all the calculations in a couple seconds (even pulling data off electoral-vote.com itself) that would have taken me hours, it was a wonderful feeling.
So that’s why I think you, personally, should at least try out Ubuntu for an hour today (or whatever day you are reading this). Because if you try it, you may find you can use it, and being a regular user of Linux gives you the best chance of jumping from using other peoples programs to writing your own, no matter how simple.
Ubuntu is a lot more user friendly than Linux used to be, but it will never be as simple to use as other operating systems, exactly because userspace bleeds so seamlessly into programmerspace. If you run into problems (and sooner or later you will), ask around, you may be surprised who you already know who uses one version of Linux or another. Or ask me, I’m sure my e-mail address is accessible somehow on this site, or even ask in the comments section of this post. Or use google. Everything I know how to do with linux has either come from searching for answers with google or talking with co-workers. (And let me tell you, just being able to talk intellegently about computer issues, even ones I have no idea how to fix, is worth a lot.)
So try Ubuntu. As I said above, all it costs you is a single blank CD or DVD, there are no lasting effects if you decide against it after trying and you stand to gain so much, a new level of control over the machines that are more and more the centers of our attention at both work and play.
I’ll post again in a few days on how to actually write your first program.
Switching back from computer geek to genetics geek in 3…2…1…