Vista So Slow
While I'm here, let me give some first impressions from my first long-time exposure to the new Microsoft Windows version "Vista."
The new company I work for (here's where one of those quicky wiki-like links could come in handy...check the post a few days ago...) gave me a brand new laptop as part of my package. I'm unsure if it's truly "mine," or just theirs in my possession while I'm working for them, but they said to "treat it like my own" and do with it what I need to do to get the job done. I believe the idea is to ensure that I have a decent laptop to take to gigs that either don't provide a machine, or who provide a sub-standard machine but allow use of external machines (my current gig provided a fine, but lesser machine, but does not allow external devices to work with their network).
The new laptop is a decent one. It's a 2GHz Core2Duo, filled to the brim with 4G of RAM, 512M of which hides behind the GeForce 8600GT video card it has (the OS can only address 4G, so the video memory takes from the top, instead of adding to the end as it would normally). It's got a pretty big 17" display, which affords it a full-sized (although slightly off-center) keyboard, with a (just a little closer than normal) full ten-key on the side. All of this packed in a nice shiny, finger-print grabbing black case.
The OS it came with is Microsoft Windows Vista. As I was finishing the set-up, one of the guys noted that he dual-boots his with Ubuntu, which he's trying out, but which is my preferred environment of the day. Talk quickly drifted to nuances of LINUX that he was finding cumbersome, and talk of what it took to get everything running waned quickly out of view.
I'm a little hesitant to bust out on the first week and mess up the PC. Most specifically, I don't want to foul the Vista install (in case I go somewhere I'm "required" to use Windows; usually for delivery purposes), and I want to do some LiveCD testing to ensure the WiFi, video, audio, and Bluetooth continue working. I'm not terribly worried about the Bluetooth; the only device I have is an earpiece for my old phone, but I've considered getting a wireless mouse (I have a couple, but they use USB dongles...).
Anyway, until I get some nerve up, I figured I'd settle for a little virtual machine action.
I started out trying to get going with Microsoft's VirtualPC 2007. I figure if someone's gonna do virtual machines right on Windows, it'd be Microsoft, right? Took very little to download and install. I happened to have .iso images of the new Solaris 10 beta and Ubuntu, so I set to installing both. Neither worked. A few false starts and Internet searches revealed the mountains of hoops that sometimes don't seem to work anyway.
I use the VMWare Player on my usual desktop to run Windows inside a window on my LINUX desktop. The performance is good enough that I can watch a Netflix movie in Windows while continuing to work on LINUX. The only thing it doesn't do is bring the desktop's 3D video card into the virtual machine, so I still have to boot to Windows to play games...the sacrifices we make.
I downloaded the player for Windows and installed it on my machine. A quick Google search revealed a handy website, EasyVMX that creates the virtual machines for you! A quick HTML form and the necessary files are put in a zip file for you. A quick download and extraction, and a .vmx file that the VMware Player likes is ready for use. Double-click and it fires right up, sees the (as configured) .iso file, and starts the LiveCD in the virtual machine.
It took next to no time to get either Solaris or Ubuntu installed. Both ran like the dickens. In my hands-on-keys testing, the OS inside the virtual machine seems more responsive than the host on which it's running! On my desktop I've got only 2G of RAM, so I've had to limit the virtual machine to just 1G. On this, I've got 3.5G (usable), so I allocated 1.5G to each virtual machine, and can actually get pretty good performance out of both running at the same time!
I set up Solaris as a precursor to upgrading my Sparc-based Sun Blade 100, which is a little old, but still compatible with Solaris 10. I'd like to get a few zones set up, just for isolating Internet services, and allowing multiple Apache servers to offer SSL (another long post, I'm sure). Solaris, then, is a bit of a toy; I allow it only part of the screen, so it's just running in a window.
I set up Ubuntu as a deliberate effort to replace the working environment. It is allowed the full resolution of the screen, and when I run it in full-screen mode, acts with the responsiveness I'd expect a from a dual-core 2GHz machine with 1.5G of RAM, and a fair video card.
Along the way I decided I wanted to make a couple changes to the virtual machine setup. Largely these are configurable in the .vmx file, which is just a plain-text properties file. Some of the changes were instantly noticed (on restart, of course) like not automatically mounting the .iso file, or changing the RAM to 2G. Some things, it seems, can only be done when using VMWare's Server or Workstation products.
It just happens that Server is also free, so I downloaded that. The Solaris .vmx I set up worked just fine the first time. The Ubuntu one complained that it was configured with a newer version, and had options that are not supported, so it wouldn't open. A quick hack with Notepad to make the two .vmx files similar (with the very few obvious differences for the virtual drives), and it, too loaded right up.
Unfortunately, the Player and Server cannot be installed at the same time, so I had to uninstall the Player to install the Server. This was trivial and handled well by the installer software.
I'm not as thrilled by the Server as I have been by the Player. The Server seems to take longer to start, comes with additional overhead, and likes to keep the virtual machines inside its single console. With the player, one can double-click the .vmx (or choose from the recent documents menu, or pinned start menu, or shortcut...) and the VM will start in its own window.
One of the things I wanted to do that required Workstation or Server was to install the VMWare Tools. Among other things, this allows clipboard sharing between the host and guests, and allows the mouse to escape the bounds of the guest (when windowed) onto the host without hitting hot-keys to release the focus. Also, on my LINUX hosted Windows guest, resizing the virtual machine's window changes the guest's resolution to fit! Alas, this doesn't seem to work on Solaris or Ubuntu running as a guest inside Windows.
Nonetheless, now that I've got the tools installed, I'm probably going to uninstall the Server software and replace it with the Player. I've grabbed the files needed to install the Tools (the installation process makes a virtual CD mount with the necessary files within, and a few command-line bits later the tools are installed), so I can (theoretically) install them if I need a new install of the virtual machine.
With all of that I realize I've strayed from my "Vista is Slow" intent...
While working on these things, there are a few things I've done on all three environments that give my seat-of-the-pants claim of better performance inside some credence.
For starters, on each, I've downloaded some common software that I use when developing. One of the packages is the Apache Tomcat server. The installation can be more on Windows, but for all of them I choose to simply unarchive the, well, downloaded archive. I use this mainly within the Eclipse IDE, which is not available for Solaris, sadly (but I do have NetBeans installed there, similar process, but it comes with an integrated Tomcat). Unarchiving Tomcat on Solaris and Ubuntu was a simple tar xzf tomcat.tgz kind of command, and seconds later the Tomcat directory appears ready to rumble.
For getting it on Windows, though, I used the Explorer built-in compressed folder handling. This is the first truly slow moment that I can document. I set the Explorer to extract the contents of the file just to my Desktop, figuring I could drag and drop to the right spot later. Windows reported it would take OVER AN HOUR to extract the 1700-odd files. At first I figured this was just one of those Windows magic math bits and that after a few minutes it would correct itself to the correct amount of time. This was not the case.
After waiting for five minutes for the first hundred files to extract, I though that maybe I'd take advantage of the multiple cores and do the same thing to a different software set. Evidently Windows Explorer cannot handle extracting two files at the same time as Explorer died with an "unknown problem," happily restarting with the same folders open, but no longer extracting anything. I removed the partially extracted folders and started over, thinking perhaps there was some quirk going on. No quirk; same thing.
I pondered a reasonable solution, and considered a number of third-party options. I finally settled on using Cygwin, a LINUX-like environment for running within Windows. I left the extraction running while I downloaded, installed, and started Cygwin. I realized I hadn't added unzip to the installed packages, so I re-ran the setup program and added it (and zip). I then unzipped the Tomcat archive from the command line, in the directory I wanted, in the expected short seconds.
After doing all of this, I canceled the still running GUI extraction of the file and deleted its partial extraction.
Now, to be completely fair, the extraction of Tomcat via command line doesn't quite compare to a GUI extraction, so in my Ubuntu, I thought to see what its GUI extraction time was like, so I unarchived Apache Ant using the archive manager that pops-up when double-clicking the archive in the GUI. It took seconds to extract. It took so little time that I thought it hadn't done it. No window popped up with a status bar or anything; I actually tried again and then noticed the folder existed in the target directory. I tried this also on Vista, with the thought that maybe the archive was the problem, but it started with a 15-minute estimate that crept to 18 minutes before I cancelled it; again from the command line took seconds.
So, the machine is plenty robust. The LINUX-like Cygwin behaves as fast as the virtual machine guest Ubuntu. It's just the Vista GUI that seems to be hogging all of the time and resources.