Friday, January 9, 2009

Morality, Aesthetics and Denormalization (pt1. Moving towards an ethics of denormalization)

A Computer Problem


So I had this problem. I have a list of names (B). From this list of names I need to produce another list of names (N). Both B and N have data attached to them. B always exists, N's existence relies on B's existence.

We can picture the list of B as as the lowercase alphabet and the list of N as single digits (0-9)

Both B and N contain additional data.
N is created from B but it is not static.
For example, we can create a relation between B and N several ways.
One B can be made into several N (d-->2 && d-->3)
Many B can be made into one N (a,q,c-->1)

In addition at any point in time the relation NB can change. What was once (a,q,c-->1) is now (a,q-->1). In this case, 'c' is removed from N and is no longer relevant in the relation.

The purpose of this relation BN is to ultimately get data about this relation. So BN is only relevant once data (W) has been gathered on BN. W as a set of data includes datetime information about BN as well as a series of questions about BN. W is a context in which something can be said about BN.

The first pass at creating this structure was a standard march towards Normalization. We already have B, we can create N. Now we need a table which maps B to N. So far so good. But oops, we forgot about the point in timeness. We could create a history table with an audit trail, or create date range fields on the mappings and create new mappings whe needed. Since the relation BN could change at any time and we need to track BN, the relation BN is also immutable. This would be alot of work to normalize and maintain in an application.
Let us digress just a bit...

A Moral Issue


In the above example, B represent a morality. It is unchanging. What is B has always been B and is unable and unaffected by its relation to N. The data tied to B underlies many programs. It is a sort of primary key across applications. It is either B or not B. (using the references above 'a' is 'a' or not 'a') That is all it can be. N on the other hand represents something completely different.

N by itself has no meaning. It is a fleeting event, a concept, an idea. It is an aesthetic component. It is totally arbitrary. There is no value judgement placed on N. For this manner N can actually contain 'a' and not 'a'

Here is where the car is going....
B is 'Thou shall not kill'
N is the death of some man

Viewed in this manner the relation BN which takes place within the context of W (or in fact IS THE CONTEXT of W). W itself is the ascribing of meaning B to an event N. If we picture two scenarios using B and N above we can see how the this works.

SCENARIO A: A man walks down the street and is robbed and killed by a complete stranger.

SCENARIO B: A man walks down the street and is robbed and stabbed by a complete stranger. In the course of the struggle, the victim overpowers his assailent and kills him.

In both of these cases B and N is the same. One shouldn't kill (or murder) and in each scenario someone dies. However, in the relation between the underlying morality and the event, we end up with a relation BN. The judgement we make on that relation is W. W is valid only for that point in time in which the relation BN exists. To fully flush this out is beyond the scope of this post. Of course there are questions as to the completeness of facts and other intangibles. W becomes history which then can inform and shape morality but remains something completely different.

Extending W beyond the BN relationship


It is important to understand the BNW relationship in both a computing and noncomputing environment. From the computing environment, we could store every BN we needed to within a defined set of lists, assign each one an id and totally normalize the data. We could be insane and create millions of two column tables. However, if the relations are never used, then we have created alot of noise with no return or value. This is made worse still if we had to then account for new BN relations. W allows us to create a context in which to gather data.

In terms of W, is it important to note that while W may represent a context, it ONLY represents a context. W informs us about an event (N) taking place against a set of pre-defined rules (B). W cannot inform us about another W. If we need to reanalyze W, we do so by converting W into an N. Our new knowledge becomes the context (W) which we can say something about. But, since B is contained in each and every W, B can be influenced in light of W at the occurrence of N. The opposite cannot be true since the N which is contained within W is never the same N. For even though it may appear to be the same, viewing it as such is a matter of convenience. Trying to say something about every instance of N through W results in the naturalistic fallacy. And I think that is a good place to stop.

No comments:

Post a Comment