Mac OS X Operating System Market Share Bumping 10 percent (9.93%)

Since December I thought it was pretty clear OS X would own 10 percent of the operating system market share by the end of January. So yesterday, in Chinatown browsing my iPhone and trying jellyfish tendrils for the first time, I opened marketshare.hitslink.com and discovered OS X was within 0.07% of the mark.

marketshare.hitslink.com

Much like the tendrals, this was slightly dissappointing since I’d wanted to see double digits. The other interesting numbers…

  • Mac up 9.63% to 9.93%
  • iPhone almost half a percent, up 0.44% to 0.48%
  • Linux down 0.85% to 0.83%, probably since there wasn’t much Linux activity over the holidays.
  • Windows down 88.68% to 88.26% (though Windows 7 betas are picking up)

How to virtualize Windows on an Ubuntu host for an optimized dev / qa environment

 Ubu-Xu-dows

After converting my MacBook Pro in to a Windows developer dream, I wanted to have the same experience on a more portable, commodity hardware unit. Virtualizing Windows within Windows with VMware Server is something I’m familiar with. It’s something many Windows developers may prefer (and I recommend if you’re not comfy with linux as your host OS).

Quick background: Virtualizing a development/qa environment allows one to have an easily cleaned control environment. When a machine gets dirty (too many installs, tests, builds, or other garbage collects), you can simply delete the virtual instance and copy a fresh installation back over. This saves a ton of time. In dev, this allows a safe, clean, environment to test builds in. In a QA environment, this allows a very fast way to return to a known state.

My goal in a virtualized dev/qa environment is to run a host which consumes an absolute minimum amount of resources. I run virtualization software that allows more than one running VM at a time, such as VMware Workstation (PC), VMware Fusion (Mac), or VMware Server (PC or Linux). If you’re running Windows as your host OS, I recommend Windows 2000 Advanced Server because it is tunable to consume less resources than any other flavor of Windows (including Windows 2000 Professional).

Given that Linux runs on wrist-watch sized systems, it’s a safe assumption that one will get better performance from virtual machines than on a virtualized Windows environment. I chose Ubuntu since it’s super simple to install, is fairly reliable, offers similar features to Windows, and is still a smaller footprint my Win2kAS machines.

I started with version 8.04 desktop (hardy). The installation was a piece of cake, but there are no tuning options in the basic .iso. I installed VMware Server, but just while running the OS I could tell I would run in to performance issues later. The desktop flavor of Ubuntu isn’t light enough to pass all the processing power through to the VMs.

Instructions

Continue Reading

Flow – Day 9 – I switched to iChat for Twitter XMPP

iChat Count 386 – 7 minutes

:

When following a lot of friends in a flow environment and using XMPP, one sees the above numbers in less than ten minutes. I’d been using Adium, but Adium doesn’t smooth scroll between each received tweet. It constantly jerks messages upwards and has made it virtually impossible to have a meaningful experience. There are often times when I want to read each incoming tweet. A good, smooth, reading experience was needed.

iChat has a slightly smoother hit at each received message, and is therefore much more enjoyable to read. The interface is customizable enough, but nothing quite as nice as some of Adium’s minimal themes.

I was mostly hesitant to switch since Adium has outstanding AppleScript support. I’ve been thinking of prototyping something (given a couple hours – someday). Apparently iChat has something even better which I should have known about… Callbacks! A script can fire for each received message.

This will make dynamic, real-time, filtering a reality.

iChat AppleScript

The start of something very cool…

Windows XP better as a VM than Vista – Duh

Vistato XP

After reading this great, hilarious, post on upgrading to XP (yes, you read that right – this isn’t a Vista upgrade), I decided to take the plunge. I’ve been punished long enough for using Vista Ultimate in my VMware environment and portable laptop. It’s been a nice OS, but performance is in the toilet and I can’t take it any more.

It’ll hang around for testing purposes… Here’s hoping SP1 brings some hope to Vista.

The Mac/PC dev/QA environment

 Mac/PC Dev Environment

Developing PC applications on the Mac is great, contrary to what some believe. I too was once in the ‘build-on-the-platform-you-target’ camp. Forget that horse-puckie and get efficient:

  1. Get VMware Fusion: http://www.vmware.com/products/fusion/.
  2. Make sure you’ve got XCode. This will be sixty percent of your development environment and you’ll be coding in OS X.
  3. Install Windows XP or Vista, your choice, as a new VM in Fusion. This will be the other forty percent of your development environment where you’ll step code and delve out builds. Don’t set it up with more than 40% of your Mac’s RAM assigned (preferably 25%).
  4. Install your development tools on this Windows instance, probably .NET 2005.
  5. Set up a shared folder for your source code between your Mac user folder and the dev VM. Make it read-write by both systems (a setting in Fusion).
  6. Set up more VMs in Fusion. These are your Test VMs (smaller, fast Windows instances used as QA machines) – as of this writing you should make XP Home, XP Pro, Vista Home, and Vista Ultimate VMs. You may want additional setups depending on your apps needs (administrator settings, etc). Set these up with 25% or less of your available RAM.
  7. Do nothing… I’m waiting for you to finish step 6… It takes a while.
  8. Run Windows Update (if desired) and take Snapshots of each VM (Command+T) after they’re set up. These Snapshots will let you revert to a clean state any time you wish.

Great, now you’re hooked up and can get your code on. With XCode you can utilize all your monitors (if you’re a developer using less than 2 monitors, we need to talk…). You’ll have XCode running with your source code all over the place organized how you like it. You’ll have your development VM running in a corner.

Use XCode as the code editor (you’ve got your source files saved on the Mac, in the shared folder). Keep the development VM running and hit Control+B in it (or better yet, add an AppleScript to XCode to pass Control+B to the VM) when you need a new build. You can step through the code when you need to.

When you’re ready to test your app(s) on all flavors of Windows, launch up the various VMs and install the app(s). Afterwards, restore to the Snapshot you took before. You’re starting from a nice clean start every time.