In Open Source I trust: Top 5 projects for daily use

There are days when I marvel at how far I’ve come since 2001 when the extent of my web experience was Front Page and basic html. In 2001 I met my boyfriend and he introduced me to the wonders of Open Source. Need a word processor or spreadsheet prograqm? Try OpenOffice. How about a graphic manipulation program, Gimp is just as good as Photoshop he’d say. I was sceptical and it took me a long time to “get it” but today as I open up VirtualBox once more to work on a client site with my favorite text editor Kate it dawned on me that the utilization of Open Source on a daily basis has crept into my routine and I’m loving it.  Excuse me while I fire up Amarok here and I’ll tell you about my top 5.

Although I use more than 5 Open Source projects in my daily routine the following are the ones that get the most use and the most attention.

VirtualBox – In February 2008 I wrote this post about my foray into desktop virtualization. Since then VirtualBox has become a mainstay on all my computers and laptops. I use VirtualBox everyday for the following tasks:

  • A sandbox for trying out Linux Distros before I install. Satisfies my curiousity about up&coming distros without having to wait around for hardware resources to be available. See DistroWatch for Linux/FreeBSD Distros to try
  • Testing out new versions of Operating Systems. I tested out Windows 7 last week in a VirtualBox on my laptop without having to build a new machine to install the OS.
  • Trying out new Open Source projects before we dedicate hardware resources (especially content management systems).
  • Installing a commercial application (closed source) like QuickBooks on a VirtualBox for testing (test compatibility with your OS on a test instance without breaking your base OS)
  • Installing and testing bug trackers, server maintenance and SaaS ready applications. Examples of applications we have tested in VirtualBox include Mantis, vtiger and Nagios.

I tried all the desktop virtualization options available and I found VirtualBox to be the easiest to use and I’m still using it a year later.

Plone – Plone is a Content Management System built on the Zope Application Framework. Written primarily in Python (with a little C thrown in for good measure) this project has grown in value as the community has grown in strength. Plone was my first real involvement with an Open Source project and the Plone community is what keeps me involved. It’s open, helpful, charitable idealogy keeps me hooked. I spent 70% of my day working on client sites developed with Plone.

Firefox – As a web developer whose primary focus is look&feel the web developer toolbar in Firefox has become invaluable to me. Firebug is essential to my daily tasks, I just couldn’t imagine trying to track down a css issue or a javascript issue without Firebug. Firefox has become my primary browser and the only time I open IE is to check a client site for cross browser issues. Although Google’s Chrome browser is much lighter I only use Chrome for non-work browsing because Firefox has so many great third-party tools that help me do my job everyday.

TweetDeck – I have used TweetDeck on both Windows and my Ubuntu box. I’ve tried quite a few of the Twitter clients and Tweet Deck is the easiest and has the prettiest interface. I find it extremely intuitive and it helps me to organize tweets. I’m looking forward to even more features and functionality as TweetDeck matures.

Ubuntu – Although we have been using Debian for years on our client servers (as well as virtualization) I wanted something on my desktop that was easy to use. Ubuntu with KDE (I install kde from source, but you can get KDE on Ubuntu by downloading Kubuntu) is a great combination.  You can make your desktop OS your own through customization. Ubuntu doesn’t use as many hardware resources as Windows and it’s free.  I’m not going to lie to you, I ran into some issues with the video card and some audio/speaker issues but there are forums and tons of tons of tutorials on troubleshooting Ubuntu. I work with Ubuntu everyday in some capacity and find it’s a quality distribution and easier to pick up than most of the other distributions.

So there you have it, my top 5 Open Source projects, VirtualBox, Plone, Firefox, TweetDeck and Ubuntu. Other projects that I use on a weekly basis, Gimp, Amarok and Open Office.

If you haven’t tried Linux yet, download VirtualBox onto your Windows (or Mac), grab an iso from DistroWatch and you should be only minutes away from experiencing the joys of Open Source!

My foray into desktop virtualization

Our company has been providing virtual machines (VM’s) based on Xen for a couple years now. I’ve logged into client VM’s and rebooted Zope or worked on a skinning product for Plone on the filesystem. I’ve restarted VM’s and have an overall understanding of how they work. I didn’t realize how virtualization could help make me more productive in general.

I’m a MS Windows type person (makes my partner crazy sometimes as he is a die hard Linux geek) and I decided to upgrade to Vista on my work machine this past weekend. My partner kept insisting that I use Linux as my “base” and put Windows on “virtualBox” or “VMWare”. I didn’t like the idea because virtual machines for the desktop just seemed to run slower and I spend a LOT of time in Windows. So I fought it. I had let my partner create a dual boot for me with Kubuntu and WindowsXP about six months ago but the hassle of restarting my machine to boot into the other OS got to be too much, and guess what? I spent most of my time in Windows. I do all the project management, bookkeeping and Windows/IE testing for clients.. so I was constantly having to reboot back into Windows to test client sites or get invoices out.

I decided that I’d rather have Windows Vista as my base/core OS and create the following virtual machines:

  1. WindowsXP (I have a CiscoVPN client that I have to use to log in to a few of our clients intranets that does not play well with Vista),
  2. LiveCD VM (so I can test various Linux distros),
  3. A Vista VM so I can test applications (some apps just don’t play well with Vista at all..so this gives me the opportunity to try them out, configure them, and if they work, install them on my core OS.. otherwise I can just dump the VM and start over if I bork something)
  4. A Debian VM for testing Plone (so I don’t have to use our client server resources everytime I want to do some testing) – again if I bork something I can always dump and rebuild

I did some research and came up with three options for adding virtual machines to my Vista desktop:

Microsoft Virtual PC

VMWare

VirtualBox

All three products met my needs for creating virtual machines. They did what they said they did and none of them were hard to work with, I think beyond that it’s a matter of preference. Of the three packages VMWare’s interface is the most attractive. Both VMWare and VirtualBox have a better process for creating virtual machines than VirtualPC. VirtualPC uses an “add hardware” type wizard that isn’t as intuitive as both VMWare and VirtualBox (at least not when it comes to configuring your “machine” with resources). I tried downloading and using VirtualPC’s IE6 vpc for testing client sites and I could not get it to work. I would say that was probably my own fault but it was still a bit frustrating.

So I narrowed my choices down to VMWare and VirtualBox. It was a close tie, both are quality products and both had an intuitive configuration process for the GUI-dependent. It was a tough choice.

Envelope please….

And the winner is… VirtualBox

VirtualBox

I was really impressed with VirtualBox for a number of reasons. One being that they have downloads for numerous OS’s including OpenSolaris and OSX. I managed to setup all these VM’s on my Vista desktop without assistance from my geeky partner. I like pretty interfaces and ease-of-use above anything else.. and VirtualBox gave me both of these. I still have some tweaking to do (I don’t have that much RAM on my desktop .. little less than 3 gigs.. so I have to be careful) but I’m really enjoying creating these environments where I can play to my hearts content and have access to the legacy (XP), modern (Vista) and Open Source (Linux, Zope, Plone) technologies I deal with everyday.