Switching to the white side

A little over 4 years ago I saw an iPod for the first time. It was a 1st generation ‘moving wheel’ 5GB model. I knew then it was the mp3 player I’d been looking for, but it had one major flaw – you could only copy music on to it with an Apple Mac. I’d never so much as touched the keyboard of a Mac and was not about to now, no matter how good the iPod was. I dutifully waited, hoping that Steve Jobs would do the unthinkable, and support PC users.

As it was I didn’t have to wait long for this revolution – the 2nd generation iPod came in both Mac and PC flavours. The day I saw it on someone’s desk at work I rushed over to Tottenham Court Road in my lunchtime and snapped up a 20GB model. Once back at the office I couldn’t resist the temptation and opened up my new purchase to experience Apple design for the first time. The packaging was a work of art in itself, and the iPod worked for me as I hoped it would. In fact, it still does – I still use my 20GB ‘thicky’ every week and I don’t plan on replacing it any time soon so long as it carries on working.

Around this time a lot of my friends and colleagues started ‘switching’ from PCs, with white iBooks and silver Powerbooks gradually appearing on desks at work. Those of us without ‘ooohed’ and ‘aaahed’ dutifully as we saw both the fancy coloured windows and the native UNIX terminals, but I was not to switch, oh no. I’d done my own switching already, you see, to Microsoft’s new .NET development platform. (yes, I can hear those shouts of ‘sell out!’ from the back, bare with me!) .NET only ran on Windows so the Apple Mac was useless to me in its own little PowerPC world.

Move on a couple of years to last summer. I decided I wanted some kind of ‘media centre’ computer, mostly to play music on, but also had some other criteria (quiet, small, easy to maintain, not ludicrously priced, etc.) and realised that Apple’s Mac Mini fitted those criteria perfectly. Furthermore, it would let me actually try out a Mac properly for the first time and see what all the fuss was about. So, another trip to Tottenham Court Road ensued, and this time I came home with a little G4 Mac.

Turning it on the first time was definitely a positive experience. It seemed so much slicker than a PC – the initial auto-update comes to mind. Whereas with a new install of Windows you end up clicking about 20 different buttons I think I clicked 2 with the Mac. And it was indeed quiet, simple to use, and was a great music player (I was already a fan of iTunes from using it on Windows.) But was it perfect? Oh no it wasn’t. First of all, it was definitely not quick. OS X 10.4 seems to crawl on a G4. Get more than 1 or 2 decent sized applications running and I could definitely see the slow down. And there were lots of small things too – I plugged my Mac Mini into a widescreen LCD TV, and try as I might there was no way I could get the ‘native’ resolution to be used (in the end I had to use a third party download – SwitchResX – to fix it.) In the end it did its job, but I was not about to go and buy any more Apple hardware any time soon.

Then some very strange things happened. First Apple switched – from PowerPC to Intel – and this made life very interesting. Now not only were Java developers excited about Mac’s, but .NET developers were too (I found Griffin Caprio‘s posts about running Parallels on an Intel Mac fascinating.) Then this summer Intel brought out their trend-bucking Core 2 Duo processors and a little later Apple announced a new line of iMacs with the new Intel chips inside. At this point for some fun I did a little price comparison – a core 2 Duo Apple vs. core a 2 Duo PC made by Shuttle, knowing that of course the Apple would come out way more expensive, because Apple always make higher priced hardware, right? I was wrong, the iMac was cheaper.

This was the final straw – I’d been looking to buy a new desktop machine and the new iMac was too tempting not to go for, even if I ended up running Windows on it using Bootcamp.

The boxSo have I gone for the cheap option? Of course not. I’ve got the bells-and-whistles-tastic 24 inch model, with a memory, hard disk, CPU and graphics upgrade. The screen is outstanding, the thing is incredulously quick and (here’s the kicker) Windows XP running as a virtual machine within Parallels is the fastest Windows PC I’ve owned by a staggering degree so I can still do as much .NET development as I want without having to reboot to Bootcamp.

This has also allowed me to try OS X on a ‘real’ machine and not just the ‘toy’ that is the Mac Mini and now I’m starting to even get OS X too. 16 years of Windows habits are going to be hard to replace, but OS X feels a generation beyond Windows XP. I know Windows Vista is just around the corner which should go some way to catching up, but with all of its delays, left out features (don’t get me started about WinFS) and incomprehensible licensing models I just can’t get excited about it. One clear difference in philosophy which sums up the difference between the Microsoft and Apple to me is the basic wow-factor of the UI. In OS X, Apple go to extraordinary lengths to make the UI pleasurable for all users – design is one of their fundamentals.

That's a big screenIn Windows, design comes a poor 2nd place – to get the fancy window graphics you’re going to have to pay the mega-bucks and get the ‘Ultimate’ version.

Even after all my nay-saying I think I’m becoming a ‘switcher’ too. Microsoft have lost the plot with Vista. What with Apple’s move to Intel processors (allowing an easy transition for users like me) and Google making serious headway in the productivity software space, Microsoft had better do something quick to keep their position as software giants of the world.

Now if you’ll excuse me, I’ll go and look at that fancy minimise effect one more time before going to bed.

Tree Surgeon has moved, and Google Code

I have moved Tree Surgeon to Google Code and Google Groups – its new home is http://code.google.com/p/treesurgeon/, and the mailing list is now at http://groups.google.com/group/treesurgeon. This applies to mailing lists, source code, issue tracking and file releases. Tree Surgeon is my open source project that generates a stub .NET development tree.

I’m still planning on doing an update to Tree Surgeon to support .NET 2 projects – I’m kind of holding out until NAnt supports msbuild / Visual Studio 2005 project files.

And in case anyone needs to do this kind of thing in Ruby, Jay Fields wrote in 30 lines of Ruby what I needed an entire project for in .NET – see tree_surgeon.rb .

This has been my first experience using Google Code. It definitely has the Google feel – very lightweight yet some clever thinking underneath to give everything you need. At first sight it feels that you don’t have file release or web space features, but since you have an http accessible subversion repository, you don’t need those things as standalone options (e.g. look at Tree Surgeon’s release directory I created here.) I’ve been using Google Groups for a while now for mailing lists. They’re nothing special compared with Yahoo Groups, etc., but again I like that they are clean and simple.

CruiseControl.NET 1.1 Released

CruiseControl.NET 1.1 was released this week. I’ve been taking a bit of a back seat on the project in recent months, but it’s been good to see a number of other people stepping up and getting involved, plus of course Owen Rogers continues to provide project leadership.

Check here for release notes.

As an aside – CCNet has moved to using Google Groups for mailing lists in light of the recent Sourceforge / GMail problems. Check here for more details.