Another MacBook Pro Owner

I picked up my Intel Mac last week.  It will soon replace the Mac mini I bought in February 2005, and the Dell PC I bought a couple of years before that.  It’s the first laptop I’ve had that wasn’t issued to me by an employer.  So far, I think I’m going to be very happy with it.

The first impromptu performance test was this: can the MacBook Pro handle simultaneous installations of Windows XP Pro (in Parallels for Mac) and World of Warcraft (direct to the Mac)?  The answer turned out to be yes, even with over a gigabyte worth of WoW upgrades (and nearly 80 patches to Windows XP Pro, not including SP2).

The next items on the the to-do list for setting it up are these:

  • Install most of the stuff described here
  • Transfer data from the Mac mini
  • Install Microsoft Office 2003 on the Windows XP virtual machine

Sometime after this, I’ll attempt to install Visual Studio 2005 in the virtual machine and see how it works.

GUID vs. Identity Column for Primary Keys

From the time I started using databases (Sybase 10, Microsoft SQL Server 6.5), I’d always used identity columns for primary keys in tables.  So when I came to my current employer and saw GUIDs all over the place, I wondered if that wasn’t overkill.

I did a bit of searching on the issues, and came up with these links:

The authors of these pieces can reasonably be described as pro-GUID.  They are up-front about the drawbacks of their preferred option (performance is a big one).  I tried the tip on using NewSequentialId() instead of NewId() (from Jeff Atwood) , but SQL Server Management Studio kept giving me errors when I attempted to update the default value of a table column to use it.

Working with virtual machines

A few weeks ago, my employer updated the RAM on a bunch of our machines to 2GB. The reasons was so we could do our development using virtual machines.  I haven’t done development work this way before (probably because I never worked anywhere before that gave you enough RAM).

So far, it’s only been a bit different than working with everything directly installed.  Visual Studio 2005 is a bit slower (of course).  The other minor inconvenience is that I can’t add new users to TFS from my virtual machine.  I suspect this has more to do with it being configured incorrectly than with the virtual machine not being part of the domain.  Access to network shares is virtually unchanged, since you can map network drives and connect using a different user name.

ApexSQL Diff

I first heard about this tool from my friend Greg at work.  I’ve been using it the past couple of weeks now as a free trial and it’s awesome.  Compare the structure and/or data of any two databases and synchronize them with just a few mouse clicks.

This tool is perfect for deploying database changes to different environments.  It’s already saved me hours of time compared to what I would have spent trying to do things manually.  I’ll definitely be buying a copy for myself.  Every DBA should own a copy.

New Monitor (At Last)

I’ve been using a 19″ Hitachi CM751 monitor for a long time–until today.  FedEx delivered a refurbished 24″ widescreen from Dell this afternoon.  Even at 1680×1050 (I’m still plugged into a KVM switch that doesn’t have a DVI port), it seems enormous.  I should have gotten one of these much earlier–it looks great.

Visual Studio 2005 Default Browser Changes

I’m a big fan of Firefox. So it’s the default browser on every machine I have access to. Unfortunately, Visual Studio 2005 didn’t continue using IE as the default like Visual Studio 2003 did. Even changing the default browser back to IE (yuck) didn’t fix the problem. This morning, I finally googled for a fix.

The steps are these:

  1. Open any web project.
  2. Right-click on any aspx page.
  3. Choose “Browse with …”
  4. Click on Microsoft Internet Explorer
  5. Press the “Set as Default” button

Not terribly intuitive, but it works. Here are the top few links Google returned that described this solution:

Sandcastle Rant

I came across this excellent post on the problems with Sandcastle, the Microsoft offering for generating help documentation for .NET 2.0 assemblies.  In addition to pointing out the problems with Sandcastle, the author (Grant Drake) brings us up to date on the status of other successors to NDoc.
As someone who used NDoc 1.3 a lot on projects in the last couple of years, I was very disappointed that the author decided to discontinue work on NDoc 2 (especially since we have mailbombers to thank for the loss).

Visual Studio Templates for Test-driven Development

I came across this blog post earlier today via Mike Gunderloy’s Larkware.com.  One of the comments requested .VSI files (the templates are for NUnit and MbUnit and are made available as zip files).  That probably would be a nicer way to package this.  Even without it, I’m glad to see anything that encourages test-driven development.  I’ll definitely use this with my development team soon.  I should probably learn how to create VSIs anyway.

India Skills Gap

I came across this article in one of the e-mail newsletters I subscribe to. It’s highly relevant to my current role because we use a lot of offshore staff for our work through companies like Tata Consultancy Services (TCS).

The rise in salaries and the springing up of private schools for training people in IT is just what basic economic theory would predict. The quality concerns are predictable as well. Before I joined APS, I asked some consulting colleagues how they would rate the various Indian IT firms. They had strong opinions on which firms were best. A lot depended on where they recruited and how experienced their hires typically were.

One area the post didn’t address that is quite important is turnover.  Because salaries in India are going up, that makes it challenging for firms to retain talent for any length of time.  This can certainly impact quality for companies like mine that use one or two offshore firms exclusive because we just don’t know who they’re backfilling with when they lose talent to other companies.

It’s certainly possible that India could start losing IT work to China.  But I suspect that eastern Europe and some of the former Soviet republics are just as likely to get some of that work.  Philip G. Armour’s column in the latest issue of Communications of the ACM talks about a technology firm in the midwest that’s been quite successful with an offshore team in the Ukraine.