Hello I’d Like to Change my Mother’s Name

May 31st, 2009

An image showing an imaginary signature showing a changing maiden-name; a theoretical impossibilityA few months ago, our client had a ‘Compliance’ team visit. It was a nightmare. Worse than the general guff Marketing / Sales Departments come up with… or those nasty little changes that are all designed to improve the user experience (you know the ones; where you have to turn some design or code on its head, just because the users are apparently totally unable to understand ‘X’ or ‘Y’*). Anyway, I’m not exactly sure what we were meant to be complying to, but some of the changes were so arbitrary that we could not think of a single justification for them.

Read the rest of this entry »

Big Release Week

May 26th, 2009

A shopping list tells us what we have yet to buy

A very personal note this time. Last week I released a project that was pretty-much the largest single release that I’ve worked on for my current employer.

Like many systems, the history of this one is that as customer applications made their way through the relevant processes, the system recorded various information about the processes that happened and how they worked out. The system then used the presence or absence of those success / fail records to decide what needed to be done next.

Read the rest of this entry »

Empowering Your Lookup Tables

May 16th, 2009

Recently, I’ve noticed that some developers, while fully understanding what a lookup table is for in terms of normalising data, miss opportunities to use them in additional ways. This post is therefore about those further uses for lookup tables that will really give you an opportunity to streamline your code.

Read the rest of this entry »

The Basic Lookup Table

May 13th, 2009

‘Lookup Tables’ are commonly created in relational data models and databases as part of the normalisation process. For example, instead of having address rows in an address table that continually repeat the words ‘HOME’ or ‘WORK’ to indicate if this is a customer’s home or work address, we might introduce an ‘AddressType’ table, with a primary key of ‘AddressTypeId’. Our AddressType table may look like this:

AddressTypeId    Name
1                Home
2                Work

Read the rest of this entry »

My DB Table / Column Naming Conventions

May 8th, 2009

I recently got around to researching a topic on the internet that had intrigued me, that being the question: “Should Table Names be in the singular, or plural?” For example, should you call a table Employee… or Employees? For as long as I can remember, my impression has always veered towards the singular. I don’t believe this is because I am a programmer, concentrating on row-based operations rather than set-based (because, as much as anything else, I actually started learning SQL with Oracle as pure SQL… not in the context of learning it with a third-generation programming language).

Read the rest of this entry »

Rethrowing Exceptions in C#

May 4th, 2009

A colleague recently mentioned to me that he thought that re-throwing an exception with ‘throw ex’ was a Bad Thing… and as I was not aware of this I did some comparisons of different options to at least try to understand what I was losing out on by using ‘throw ex’.

Read the rest of this entry »

Generating Data

April 13th, 2009

I’ve worked on a couple of projects recently where the design of the underlying data-model has, I think, surprised my colleagues. In both cases, there were elements to the design where I have chosen to persist something to the database which I think they may have tried to avoid saving that information; so I wanted to jot down some reasons why it’s a good idea (in these cases anyway).

Read the rest of this entry »

Gentle.Common.Error.NoProperty

September 4th, 2008

Yes - this is a post about an error - one that I could find nothing on Google about. It’s a quick one, about the Gentle persistence framework for .Net programming.

Read the rest of this entry »

Programming Zen

August 23rd, 2008

I’ve written before about all sorts of approaches to programming style, how you should do some things and why, and also why you should not do other things.  Recently, I’ve found my increasingly frustrated by the environment that I’m working in, by what I perceive at face-value to be a lack of knowledge or perhaps simply a mismatch in individuals’ idea of standards.  Of course, my employer currently has no standards. No standard anything - code layout style, data-design approach, unit-testing, in fact, testing anything is not ’standard’ at my current employer.

Read the rest of this entry »

Icy Dock MB559US-1S Review

August 18th, 2008

Along with my other recent hardware purchases, I bought an Icy Dock external disk drive holder to serve as my new backup mechanism - along with a Western Digital 1TB disk drive.  This is a quick review of the hardware.

Read the rest of this entry »