The Great Compromise

Its been a while since my last post. I got the crazy idea in my head the using Putty / WinSCP has become frustratingly inadequate for my day to day work. Putty has weird copy / paste, ugly formatting, no tabs, dumb keypair management, etc. The list goes on. And using WinSCP to bridge the great divide between Windows and Linux is really getting on my nerves. Not to mention IRB on Windows totally blows. Simply put, a great deal of my day to day tasks would be easier if I were working on Linux. Considering that 90% of my time is working with Debian, and Red Hat it seems simple.

But simple is far from the truth. The truth is that Microsoft has all but snubbed out Linux development. Windows is ubiquitous, and hols 95% plus of the OS market. Most of the talent write for Windows. People test software on Windows.  Support resolves issues that affect Windows user’s first, while other OS bugs become understandable second class citizens. So the question is:

How can I satiate my need for Linux, and remain “professional” in the workplace. If my boss, or my co-workers come in and say there is an issue with a website on IE6 that I should look into, it doesn’t cut the mustard to say “Oh, I run Linux now, so I don’t have IE6.”. There are several answers – each with its own pros and cons. I can dual boot, I can virtualize, I can use two different computers, I *could* just stick with Putty.

I am mulling the options around in my head, and in light of some new technologies, the scales seem to be constantly tipping. Now I am going to try Innotek -> Sun -> Oracle’s VirtualBox, with the “seamless” mode (think VMWare Fusion’s “Unity”), and guest 3D acceleration.




  1. I use VirtualBox, in combination with the tool I linked you to Friday, to test my stuff with IE 6 and 7. But there is also IEs4Linux[1]. Arch has it in the official repository; I would be surprised if Ubuntu doesn’t. There is one caveat, IE 7 doesn’t work so well.

    I prefer virtualization in combination with a host OS with which I am comfortable. Virtualized test environments reduce unknowns. “Oh, I need to test this in IE 6? Okay… Looks like it works. You must have other software interfering. *pause vm and close*”

    The problem with using VMs is performance. I have VMWare Fusion on my Mac, but I hardly use it. My Mac is limited to 4GB of RAM, and my daily usage eats up almost all of that. A VM really jams up the works. My Vista machine, though, has 8GB of RAM. So any VM I have on that machine I can easily give a GB of dedicated RAM and not care. Under normal load, that machine uses ~2.5GB of RAM. So it doesn’t miss the stuff allocated for the VM.

    Why would an IE VM need 3D acceleration?

    Finally, the real issue is whether or not it is worth the probable hassle of using an alternative OS. Maybe you’re doing mostly *nix stuff right now, but who’s to say 3 months from now you won’t be doing mostly Windows things? Using Windows at work is… easier. If it doesn’t work like it is supposed to you can say “Hey, I’m using the standard software. If it’s broken, that’s not my fault.”

    [1] —


  2. Matt Todd says:

    Dude, get a Mac and run VMWare. You get the power of a *nix, a very polished UI and great support, and the ability to run only the Windows apps you absolutely must, like IE. You could also have a separate partition just for Windows and any games you want to play.


  3. Ben Simpson says:

    I think the determining factor is whether to be inside a VM all day, or just inside for the applications I wanted it for. With Linux in a VM, I can just call the terminal (the main thing I wanted) anytime I want with “Seamless mode”. The great thing about Linux is that I don’t have to buy a new desktop, since the one I have is just fine. Its a free experiment.


Leave a Comment

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.