Andres wrote a nice summary of his experiences with a MacBook Pro as a Windows development machine. I agree with everything he’s got to say, really – it’s a lovely machine but it’s not really suited to Windows development (I set aside only a 60GB partition for Windows XP, but hey, that was all of my “old” laptop) for a number of reasons: -

  1. The heat: actually, I suffer from this less than Andres does but it’s about freezing in the UK at the moment. There are two graphics cards in the MBP – a GeForce 9400M and a 9600M. Windows can only use the 9600M, which is great for gaming but not a deal of use for development, because of…
  2. … The battery life: again, I’m pointing the finger squarely at the graphics card usage here. OS/X uses the 9400M to get as much as 4-5 hours light use out of the machine. You’ll struggle to get an hour and a half out of Windows XP.
  3. The keyboard: As Andres notes, it’s missing a delete key (which is “simulated” with FN+BACKSPACE. This is probably the biggest downside for me. There are other annoyances in the UK too – the MBP does not come with a traditional keyboard layout. Backslash and tilde are in the wrong places, there’s an odd §/± key in the corner, and – crucially for me, particularly when editing CSS or using regions in C#, or even saying C# – there’s no ‘#’ key (though see below for a fix). CTRL and FN are the “wrong” way round – your muscle memory is severely hampered for the first two or three weeks.
  4. The trackpad: it’s a thing of beauty in OS/X, but BootCamp down to XP and you’ll be tearing your hair out. It’s almost as if they went out of their way to deliberately cripple the driver so that you’d hurry back to your new “favourite” OS/X. The “two-finger tap” right-click method I use in OSX is cruelly transformed into a “three-finger-claw click” (even though I’ve told the driver I’d like to tap to click, which it does for left clicks and not for rights). The sensitivity seems off and the tap-drag threshold for window dragging is insanely large.

The above sounds like a fairly exhaustive list of why you wouldn’t want a MacBook. Apple have done what they probably wanted: to make Windows usable but make it so irritating that you’ll long to be back in OS/X just to use multitouch properly. Oddly, though, I love it. This is probably because development isn’t the main thing I do on it. So what is it I love?

  • The keyboard: Yes, the very thing I’m maligning above. The travel is small, the feedback (to me) seems excellent, and typing this post I’m struck by the speed at which my thoughts are hitting the page. Also, I can regain my ‘#’ key (in OS/X) and shift the other keys back where I’m used to having them with the excellent (and mis-spelt) Ukelele. The only thing I still can’t do is swap FN and CTRL or jury-rig a DELETE key on the EJECT button…
  • The touchpad feels lovely once you’ve set it up to taste. The poor Windows drivers are inexcusable when you know how good the pad can be.
  • VMWare Fusion: Weirdly, when running my BootCamp installation through Fusion, the trackpad works exactly as I expect it. This is probably the best way to develop on it. I boot into Windows only when I want to play Fallout 3. Which I’ve finished. So I never boot into Windows.
  • The construction: The unibody construction, the LED backlighting of both screen and keys … it’s got heft and there’s no give or play in any of it. The only downside is that the body is so cold first thing in the morning in this freezing weather we’re having.
  • OS/X: There’s plenty to like. Exposé is as good as everyone says. iTunes and iScrobbler are a joy compared to the Windows equivalents and it all integrates beautifully with the dedicated player keys on the keyboard. Safari is fast and usable (once you’ve installed the excellent Glims). iCal integrates with my Google Calendar well using the excellent Calaboration. I can check my GMail from the great desktop widgets (which knock Vista’s sidebar into a cocked hat). The typography is excellent (especially in the excellent and ubiquitous Dictionary), even if Quartz doesn’t quite come up to ClearENGINE standards at small font sizes. “Spaces” is the first “multiple desktop” solution I’ve ever wanted to continue using. The Unix underpinnings are solid, packed with open source gems and don’t require the amount of tinkering that my last dalliance with Linux (admittedly over a decade ago) did.

It’s a shame that Apple haven’t put as much effort into their Windows drivers as they have the rest of the overall experience. Really, the big two things that the drivers need are: the ability to select the graphics card and the same trackpad driver capabilities as OS/X has. As Andres has already said, this means it’s not the best choice for Windows development – though if you’re close to a power outlet it’s all do-able. However, for personal use and even just as an exercise to see how digital life is through a non-Microsoft prism, I’ve found it to be a thoroughly useful and enjoyable experience.

I’d buy it again, but knowing that I’d only use it for digital photo manipulation, surfing and music. I am trying other languages with it (Python and vim ship with the system and I’ve dipped my toes), but it’s not quite the full ticket for Windows-based .NET development and the keyboard issues, while not insurmountable, do mean that (for me, anyway) it’s better suited for general writing than source file editing.

I’ve been having a bit of an odd experience with some backup software that came with an external hard drive I bought for the purpose. The software in question is Dantz (now EMC) Retrospect Express 6.5, which I’d have to recommend as a great solution for personal data or small networks. Except a couple of days ago, I’d have greeted its mention with a hollow laugh.

It was easy to blame Retrospect.

The problem started a couple of months ago after a hard drive crash (my second this year – I’m starting to feel cursed). I meticulously reinstalled XP and restored data from backups. I prefer not to “ghost” system disks as I regard XP reinstalls as an opportunity for spring cleaning which should not be missed.

When I started to use Retrospect for incremental backups as normal, I discovered the problem. The external drive to which I was backing up would grind and grind for days (yes, days) before finally starting the backup process. You couldn’t kill the Retrospect process, either (not even with taskkill /im retrospect.exe /f. The only way to halt the interminable vibration transmitted through my desk to my mouse hand was to wrench the USB plug from the drive. Backups progressing from scratch worked normally, so my only workaround was to simply back up everything in my list of folders which I must not lose. This inevitably led to a decrease in the frequency of my backups (daily became weekly, excepting my source control database which is small relative to everything else and while slow, could easily complete in under half an hour).

I’d been researching this problem for two hours of every week since the crash, and I’d been getting nowhere. Today I started to get a “bad block” warning from a second machine accompanied by a wonderful scratchy samba beat in sync with the drive light. Uh-oh, I thought. Impending hard drive death (It’s like a sixth sense now). I couldn’t put it off any longer – I simply had to fix the problem.

But where to start? Try putting together a Google search for “my backup never finishes using Dantz (now EMC) Retrospect 6.5 on an external USB drive and I’m about to embed one of my extremities into a solid object” and you’ll be sifting through results until Jeff Atwood writes a boring blog post. It’s easy to Google hard errors like “Windows Delayed Write Failed” – just put the wording in quotes and review the possibilities. It’s less easy when a piece of software just sits there quietly shortening the service life of one of your USB devices. I have a small cache of words I trot out for Google to consume in these situations: “(hangs OR crashes OR freezes)” for simple lockups and “(grinds OR thrashes)” for hard drive activity.

In the end, when you’ve been using these kinds of search combinations for weeks with no luck, you resort to brute force searching. And this is what I did, trawling the Dantz/EMC support forums post by post. By about page 18 of posts I had an answer, and the blame wasn’t going in the expected direction.

System Restore. Great, isn’t it? Sits there, quietly monitoring everything, making sure nothing untoward can happen to your system. Including untoward things like backups, it seems. This is why even taskkill didn’t work – it seems to be MS-process aware when it comes to System Restore. This is why I’ve been risking the life of my external HD by pulling the cable out, because you couldn’t even log out or shut down. System Restore is only good on system drives. Yet by default, XP monitors every “fixed” drive you have in your system (I know, I know, I’d been sticking it out with 2000 until late last year). Why should this be the case? Why can’t XP ask you for each drive you install a program on instead of assuming that big dumpster full of ISOs, RARs and RBFs you’ve got hanging off your USB bus needs watching like a hawk?

So in a backup situation to an external drive, System Restore is the last thing you want turned on. Right-click My Computer, hit Properties/System Restore, and turn it off on a per-drive basis – which in my experience means any drive you don’t add/remove programs to/from with Windows Installer.

I’m happy to say Retrospect is right back up there in my estimation. And MS’s position in my estimation hasn’t changed a great deal.

© 2014 ZephyrBlog Suffusion theme by Sayontan Sinha