Developing on Mac XP

Way back, I developed under Windows, starting from nothing (v 1.03) and going all the way up to XP. Then I drifted into OSX. Recently I drifted back, but not all the way. Currently I’m developing for Windows XP on my iMac, and this is how it looks:

Photo of iMac running XP

As you can see, I’m running two instances of XP, the one on the left has Visual Studio 2005, a full SQL Server developer’s edition, while the one on the right has Visual Studio 2008. That one connects to the SQL server over a faked internal net in the 10.x.x.x A-class. Note that the Dell monitor to the left is connected to the iMac and displays an extended desktop.

Both XPs run under Parallels desktop for Mac, both run in “full screen”, which means they’ll take the full monitor they happen to be on when you go to full screen. Working this way is just like two separate XP machines, except I only need to use one keyboard and mouse. Pretty darn neat. Naturally, you need at least two full XP licenses to do that, but go get an MSDN Pro or MSDN Operating Systems subscription and you’ve got more than enough licenses for this.

For a full screen shot of the two XPs side to side, click this link. (The Dell monitor has lower resolution, which explains why the left XP image is a little bit smaller than the right one.)

When I travel to a customer’s site, I copy over the files for an XP instance to my portable, a MacBook, and when I get back I copy it all back. For instance, I went to a customer site, had them install and set up an SQL database on the XP on my MacBook, came back to my office, copied it back and now the XP running on my iMac has that database installed and set up. It’s the same XP instance. No need for reactivation or anything, XP doesn’t notice the move.

Even more interesting is that I don’t even need to shut down and boot XP. I can leave it open in Visual Studio, for instance, on the iMac, close Parallels, move the files to the MacBook, start Parallels, and I’m still in Visual Studio in XP, right in mid-keystroke, so to speak.

But, there’s a problem.

Both my iMac and my MacBook are dual core Intels and both have 2 Gb RAM, max for these models. If I run two XPs on the iMac, the memory allocation looks like this:

Activity monitor showing memory use

Now, that’s a whole bunch of read paint. And most of the rest is yellow. The two XP instances have 512 and 768 Mb RAM allocated through Parallels, which isn’t all that much for XP, but it is really more than can be handled in 2 Gb of RAM. As long as I do nothing else on the iMac, I can work comfortably this way, but as soon as I try to run NeoOffice or Firefox, for instance, things get real slow. The machine starts thrashing the disk and switching between programs can sometimes take minutes.

I needed a plan to get out of this situation, a plan that definitely does not involve Dell, HP, Lenovo or any of those people. Stay tuned.

2 thoughts on “Developing on Mac XP”

  1. I do something somewhat similar. I have a Dell machine with XP Pro that I connect to with Microsoft’s Remote Desktop Connection for OS-X. It gives me full access to the Dell from my Macbook Pro since I don’t have a second XP license.

    This allows me to do all the heavy compiling work on Dell in background.

  2. It seems so fitting that you still have a Dell screen to display Windows XP on. Unfortunately, since you run two copies of XP, you have to smudge the view of your Mac screen with the ugly XP interface as well.

Leave a Reply

Your email address will not be published. Required fields are marked *