OS X

I've just got a new toy - a nice little macbook :-)

It's my first mac, and the first time that I've been able to play with OS X. I have to say that I am very impressed. It has a really nice GUI interface that is surprisingly powerful (and I have to agree that you don't need more than one mouse button at all!). The best thing though is that under the GUI is a proper UNIX operating system, with proper UNIX file system and commands. This means that I've now got my mac set up so that it just like a really pretty Linux (with fancy 3D virtual desktop transitions and everything). I could spend a while enthusing about how great the mac is, and how I have to say that I am being converted, but that would be rather dull for anyone reading. Suffice to say, I was hooked once I found iAlertU - a little app that allows the mac remote to act as an alarm key. Just point the remote to the mac, hold down the menu button, and see as the laptop beeps and flashes like a car that has had its alarm set. Now any movement of the mac, or any pressing of the key or closing the screen will cause the laptop to start flashing and sounding a siren, while the integrated camera above the screen takes a photo of whoever has triggered the alarm, which is then emailed to my gmail account. Very cool!

There is a very good reason why I have got a mac - it is not just a pretty toy ;-). The reason is that it now allows me to properly port Sire across Windows, Mac and Linux, as now, using VMWare Fusion, I am able to run all three operating systems simultaneously on the same laptop, using the same source directory. This may seem rather esoteric (as most clusters run linux, not windows or osx), but the purpose of doing this is to ensure that I am always writing portable code, and that I am checking that the code is portable. Doing this ensures that I catch errors early (as errors tend to manifest differently on different machines and compilers) and that the code remains resilient against changes in OS (linux changes a lot, and VMWare Fusion allows me to run several versions of several distributions on the same machine with little hassle).

One other operating system that may become huge is opensolaris. Solaris is of course already huge, and is pretty excellent (ZFS and dtrace look amazing - both may soon be in the leopard). Opensolaris is the open source version, and may one day become THE unix. Sun are currently offering free DVDs of opensolaris to get you up and running (see http://get.opensolaris.org). I've sent off for one, and should get it in September. I'll be installing it under vmware fusion, so I can then get Sire working on it. Maybe one day we'll say Windows, Mac, Linux, Opensolaris, or perhaps we'll all just say Solaris?

p.s. When I say windows, I mean XP. I think that the department is beginning to get some vista licenses, so I may soon be able to install that as a virtual machine. Does anyone know whether vista is any easier to program for than XP (as porting unix apps to XP has been a pain!)