« January 2007 | Main | November 2007 »

Wednesday, February 28, 2007

New Parallels release!

I've mentioned that I run Windows under virtualization on my Mac mini using Parallels Desktop for Mac. Today they released an update which optimizes the use of screen real estate, adds USB 2.0 support, binary file drag & drop and allows Windows and Mac apps to run seamlessly side-by-side via a feature known as Coherence.

Upgrading my current Parallels installation was a snap. I played with Coherence for awhile, running Visual Studio and SQL Management Studio on my Mac desktop, and I was quite impressed by the overall usability. The good folks at Parallels have done an amazing job. Unfortunately, Coherence doesn't jive with the way I work in Windows. I tend to make heavy use of the Windows Desktop, which (obviously) isn't visible when in Coherence mode. I had to back off and settle for the traditional VM window at full-screen resolution. People who just run a few Windows apps and make little use of the Windows Desktop will really benefit from Coherence. It's very well done and extremely cool.

Personally, I'm thrilled by how easy it is to maximize the VM window and take full advantage of my 1280x1024 monitor. I'm constantly switching between Mac & Windows apps, so running the VM full-screen doesn't make much sense. Being able to maximize the VM windows DOES make good sense and that's exactly what I can do now.

Great job, Parallels! I understand that 3-D graphics acceleration and SMP are in the works. I don't care too much about 3-D graphics, but adding this feature means graphics pass-through to the hardware, which translates into faster 2-D, including video, videoconferencing, etc.

Monday, February 19, 2007

Customer service?

My wife bought a Mini Cooper last year and she's very dedicated to its upkeep. During the warmer months she typically washes it every weekend. Needless to say, the lack of an available garden hose during the winter months has left the car looking rather salty. She won't use traditional car washes for fear of scratching the paint, but we've found a touchless wash at a Mobil station in Wellesley, the next town over. It doesn't do a great job, but it removes the road salt and most of the grime. We stopped there last night on the way home from dropping a friend off at the airport.

It's an automated wash. You feed it a credit card, select your wash preferences, drive in and let it do its thing. We got the green light to go in, the door raised and we entered. And nothing happened. There was a very strange, toxic-smelling odor inside the washing station and after about a minute I suggested that we back out (the door hadn't yet closed behind us). Having spent eight years on the bench as an organic chemist, I have a good nose for things which are best not inhaled.

We reported the problem to the attendant and requested a refund. We didn't have a receipt because the wash usually 'just works' and we didn't request one from the machine. We're talking about seven dollars here. But screw the seven bucks. We didn't want to read about someone becoming injured from whatever fumes were in that building. Something was clearly wrong and who knows what would have happened if the door had closed and someone became trapped in there.

The attendant didn't seem to care about any of this - including the safety issue. He insisted that the washer had been running all day. I'm sure it had been, but things break, sieze up, whatever - especially in this recent cold spell we've had here. We got the distinct impression that he thought we were trying to con him in some way. For those unfamiliar with Wellesley, MA, it's a town where crime just isn't that noteworthy. Plus, we didn't exactly look like hooligans. The right thing for the attendant to have done would have been to walk over to the washing station, take a whiff of the toxic/nasty/whatever air, recognize that there was a problem and shut it down. A refund or a future free wash would have been nice, too (they can generate codes which the machine will accept), but that just wasn't going to happen. After all, we were obviously just trying to scam him out of a free wash.

We left, shaking our heads in disbelief. I've never seen such a blatant disregard for concern about safety. The guy didn't even acknowledge what we told him about the fumes. Plus, he totally alienated us over what would surely cost the Mobil franchise a lot less than seven bucks. There was most definitely something being emitted inside that washing station. It took me several minutes in the fresh air to eliminate the irritating feeling in my lungs and Ali was still feeling it when we got home. Fortunately, whatever it was had no lingering effects.

Alas, the Mini is still caked with salt. The forecast for the coming week predicts temperatures in the 40s, so maybe I'll be able to break out the garden hose.

Friday, February 16, 2007

Virtualization and platform freedom

I've been a big fan of running OSs in virtual machines for some time. Virtualization is very useful when you need an isolated environment for evaluating software, a QA test bed encompassing multiple OSs and versions and for a variety of other purposes.

Until fairly recently, virtualization often incurred a minor, but very real, performance penalty. This isn't surprising given that you're running one OS inside of another and each OS is designed to be the sole guardian and caretaker of a computer's hardware resources. Previously, a typical hardware setup might include a notebook with a fast single-core CPU, 1 GB of RAM and a fast hard drive. The host and guest OSs might split the RAM evenly and they'd probably share the same hard drive. To run the guest OS, you'd close all possible apps in the host OS to prevent CPU starvation. In either case, the guest was likely to become starved for RAM if anything too intensive was attempted. Still, this approach worked well enough to make virtualization a very useful tool.

Things have evolved rapidly (or perhaps they've been more intelligently designed - doh!). Now dual-core CPUs with hardware support for virtualization are common, RAM is cheaper and it seems like everyone has an external Firewire drive or three. When virtualization is set up correctly on a modern platform, it's difficult to tell whether you're working with the host OS or the guest OS, provided that accelerated graphics (esp. 3D graphics) don't come into play.

One caveat of virtualization is that disk fragmentation is inevitable, prevalent and cumbersome to correct. When you defrag the guest OS drive, the virtual disk image on the host becomes fragmented, and vice-versa. The only real way to ensure a proper defrag is to defrag the guest, move the disk image to another drive and then copy it back. Perhaps we'll soon see defragmentation products which maintain some kind of coordination between virtual machines and the host environment. This would be particularly useful for virtualized servers.

My current setup is a Mac mini with a 1.66 GHz Core Duo CPU, 2 GB RAM and a 7200 RPM drive. My XP VM is a non-expanding image on an external Firewire 2.5" 5400 RPM drive (no external power source). The disk image is the only file on the external drive. I run Parallels Desktop for Mac as my virtualization package and the 2 GB of RAM is evenly split between OS X and XP. The mini is a great platform. It's small, attractive, quiet and energy-efficient. It costs me about two dollars per month to run at a 50% duty cycle.

I don't baby my XP setup in any way. I use it to make my living. I expect it to compile code quickly and to efficiently run any and all apps which I need to get my work done - all in its 1 GB of RAM (contrary to popular belief, 1 GB of RAM is plenty for a Windows dev machine if it's properly tuned and maintained). In the mean time, I do all my emailing, IMing and Web surfing in OS X. Response on both sides of the fence is crisp, even under load. Multiple cores really make a difference here.