Wednesday, 30 March 2011

Design for the Lowest Common Denominator


Everything is a balancing act between perfection and pragmatism.

What I do not believe is that you are supposed to drop standards to the point where you correct the mistakes of users. Yes, suggest improvements or give warnings or give options to clean up but do not just assume and make the change.

I'm using an ORM called llblgen. It is the standard where I work. I'm not a massive fan but I'm currently more for consistency than purity so it will do for now.

One thing that llblgen insists on doing is assuming a table name ending in with an 's' is a plural. It then removes the trailing 's' when generating the equivalent data model class.

For example, my 'SomethingStatus' table will be represented by an equivalent model named 'SomethingStatu'. The developer has responded to my tweets of disdain and said that from his point of view, he can't assume that people will model their databases in a way that obeys conventions for not using plurals.

This bothers me because it makes me question the point at which we will go to cater for developers or users that may be doing something "wrong". Microsoft development environments and technology stack restrictions often have this in mind. Stop bad developers being sloppy by locking down the environment and denying options because bad choices cause bad code.

I disagree. I think bad developers write bad code. You shouldn't have to correct them. You don't need to baby your users. If you are going to cater for anyone then cater for the average user.

If the assumption is that the average user has a low statu then I'm simply saddened.

Tuesday, 22 March 2011

Uninstall an Instance of SQL Server


If you are anything like me and you regularly forget the SA password for a SQL Server instance and then delete your own Windows user from the server then you will need to install a new instance.

Then you have two... or four instances, in my case. Don't ask.

Here is how you uninstall a specific instance since you are locked out and can't use it anymore. There are other good reasons that may bring this about but mine is far too common, so do this...

  1. Go to Control Panels > Programs > Uninstall a program. This is also known as Add or Remove Programs;
  2. Find the type of server you are uninstalling. In my case it is Microsoft SQL Server 2008 R2 (64-bit). Right-click and choose Uninstall/Change;
  3. At this point, you may be asked to locate your installer program. That is the program you used to install it in the first place. Locate that. You will be presented with several options. Choose Remove;
  4. Select the Instance you want to remove and follow the instructions to uninstall it.

You may want to write down that SA password for the new instance somewhere.