James and the Giant Corn Genetics: Studying the Source Code of Nature

October 29, 2009

Try Ubuntu

Filed under: Computers and Coding — Tags: , , , — James @ 5:48 pm
Screen grab of Nymph my at-home Ubuntu Box. Click for fullsize.

Screen grab of Nymph my at-home Ubuntu Box. Click for fullsize.

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…

7 Comments »

  1. Does it have a mouse and icon GUI or is it all scripts? Can you still use all your regular programs with it? Firefox? Microsoft office programs? R?

    Comment by Matt — October 29, 2009 @ 7:32 pm

  2. Ubuntu definitely has a graphical interface. For day to day stuff (writing, web browsing, e-mail that kind of stuff), you don’t even have to touch the command line. Firefox comes installed by default. R (and most other available programs) can easily be installed from either the command line or a control panel called Package Manager.

    Microsoft Office doesn’t run on linux, depending on what you’re using it for the OpenOffice set of programs (also installed by default) can be quite good substitutes. The word processor is as good or better, the spreadsheet app can handle bigger datasets than excel, although I’m told people who used advance macros don’t like it as much, and the powerpoint analog works fine although maybe not as good for constructing figures.

    I’ve added a screenshot of my what my at-home Ubuntu machine looks like right now to the post. Here’s the direct link:
    http://www.jamesandthegiantcorn.com/wp-content/uploads/2009/10/Screenshot.png

    Comment by James — October 29, 2009 @ 7:51 pm

  3. I forgot the key point about openoffice, which is that it can open microsoft office formatted files, and (optionally) save in the same formats so you can interoperate with people using microsofts programs.

    Comment by James — October 29, 2009 @ 11:21 pm

  4. hmm..

    If I’m running on Ubuntu, can I still get at all my folders that are already on my computer?

    My current (Vista) computer is pretty slow and I’d been thinking of getting the $30 “student” upgrade to Windows 7 to try o fix it. If Ubuntu will be faster (and especially if I can be running Ubuntu and still open up all my folders (containing pictures, lab data, articles, etc.), maybe I’d try Ubuntu first.

    Comment by Matt — October 30, 2009 @ 9:27 am

  5. Sorry for the delay responding, today has been crazy. Ubuntu will install on a separate partition from Windows Vista and all the files you’ve already got. It’s been a while since I had a machine with both installed, but worst case you’d just have to set it up so Ubuntu knows to show your original Windows partition with all your existing files, and you can open, modify and save them normally. The newest versions may do that automatically, but if not there are a bunch of tutorials on the web or I can walk you through it.

    Comment by James — October 30, 2009 @ 4:24 pm

  6. oh, and how’s security relative to windows? If i buy something online through Firefox/Ubuntu, is it any more risky than Firefox/WIndows?

    thanks!

    Comment by Matt — October 30, 2009 @ 9:28 am

  7. If anything it’s less risky. Between linux having a small share of the market, and being developed by a bunch of people who enjoy the fame of discovering and fixing security holes (even though the holes weren’t being exploited in the first place), Ubuntu itself is quite secure.

    Absolutely though, there are the same risks of being tricked by deceptive websites and phishing e-mails as any other platform.

    Whether you try Ubuntu or stick with Windows I’d highly recommend a firefox add-on called no-script, which allows you to authorize only those websites you choose to run software (things like javascript and flash) within your browser. (As a side bonus, this will cripple a lot of the most annoying ads, the ones that talk or fly into the middle of whatever you’re reading to get your attention, since they’re served from third-party websites).

    Comment by James — October 30, 2009 @ 4:32 pm

RSS feed for comments on this post.

Leave a comment

Powered by WordPress

%d bloggers like this: