Monday, June 30, 2008

Quick Notes on Families

It seems that there have been a number of different family states between men and women through the ages and in different cultures.

The most common bond has been the conjugal family which consists of a man, woman and their children.

Another well known form of bonding is polygyny wherein a man has many concurrent wives. The practice of polygyny is quite rare and mostly practiced by the wealthy classes. Concubinage is fairly common among the upper or leader classes through history and is a form of polygyny.

A rarer form of bonding can also occur in that a woman may have many several concurrent husbands. This has at least been noted in Tibet among the Todas where all brothers marry the same woman to create a polyandry relationship.

The various bonding types are probably a reflection of the dominance of patriarchical societies as there have been very few matriarchcal societies although the Mosuo women are still in control within their corner of the world.

A seemingly disturbing but apparently common practice was wife sharing. This was the practice of sharing your wife with another man for a special occasion or simply for an overnight visitor. It seems that this can still be found in the modern world.

Wednesday, June 25, 2008

Testing Value

F-22 RaptorImage by James Gordon via FlickrI'm unclear as to what my actual interpretation of the value of testing is but I need to get some thoughts out.

Software testing does not have a measurable deliverable in the sense of a tangible product. It basically provides a potential of value. This potential can be accorded to the following:

  • An in depth understanding of the system which might not be available within any other development team
  • Insuring the expectation of the system's potential
  • Identifying additional uses of the system
You don't buy insurance for the return on investment but rather as a means of being able to cover yourself should the insured item become in some manner impaired or absent. It should thus be somewhat reasonable to see the cost of testing as being similar to the purchase of an insurance policy. The value insured, is where the question re-arises. An insured item has a price and it is reasonable to expect some sort of guarantee against the cost. In insurance the guarantee is only as good as the company holding the policy. Would anyone put a guarantee on the state of the software after it has been through the testing cycle?

To come back to the insured value. To obtain an insured value, one could look at the business requirements. A conventional technique is to prioritize the functions. The prioritization process in itself will identify those areas that add the most critical to the business. It is likely that these processes are the ones that add the most value and thus need the most insurance (or testing). Using some weird weighting-to-tester cost to company figures it's intuitively obvious that a dollar value can be generated for the value the testers are there to insure.

From this scheme it can be noted that various supplementary metrics can be applied against the generated dollar amount. These metrics could provide business level feedback of the cost a bug represented had it not been found (using weighting to cost and fudged with severity). Possibly interesting to establish a basic formula for doing this - also if it might even be remotely useful outside of a theoretical obscurity (or just being hilarious).

Information on a system is a long term benefit that could be idealized only by the establishment of a software testing department with effective retention policies. Cross system or domain knowledge can be considered to the be an additional value brought in by test team. This would be a fuzzy value that equates to reduced time to idealization rather than a physical amount. It could also be interpreted as improving the quality of the test effort using past experience. I'm not sure that some scheme could be devised to measure this in terms of a dollar value...

Zemanta Pixie

Saturday, June 21, 2008

Hxaro and Sharing

A composite satellite image of southern Africa.Image via WikipediaHxaro is a cultural aspect of the San. It basically involves the creation of obligation as a means of insuring against the future.

Understanding the San way of life provides ethnographic insight into the Late Stone Age cultures in southern Africa. This means that a potential understanding of how people lived in the last 2000 years can be gained.

Hxaro is interesting - especially when considered in light of gift giving within the Roman Empire. The mechanics around hxaro, involve the manufacture of a gift which is then handed to a specifically chosen person. The gift is usually something decorative or practical - not food. The gift may be kept and used by the recipient or passed on to someone else. When a hxaro gift is passed on it forms a chain of responsibility with the subsequent recipients inheriting an obligation to the original giver. The partners in hxaro may allow the relationship to drop or may foster it. Dropping a hxaro partner becomes more difficult once a chain has been established.

In choosing a hxaro partner, the environmental factors are considered. Having a wide range of potential partners means that there is more scope when some difficulty arises within the environment. When the region cannot support a tribe or family group they manufacture gifts to take to their established hxaro partners in other regions. As the relationship is birectional, the hxaro process has the effect of sharing the risk.

Gifts in Roman times were primarily used as a means of gaining support for illicit practices and other general bribery. It's quite refreshing to come across a practice that is mutually beneficial as well as establishing an obligation for both partners.

Zemanta Pixie

Tuesday, June 17, 2008

Generating Data with PHP

Pretty much claim to have forgotten how to handle a piece a code to be almost immediately jogged by a short search. Anyway have completed the string generator in PHP. Possibly the most interesting point of the exercise is the strings that are created - some are just plain weird.

The weirdness is possibly the main attraction especially if one is not limited to boring strings like alphabetical and alphanumeric - although a quick random ASCII will show if there are any problems. I extended my initial release to include generating printable ASCII in addition to using the full ASCII encoding. This means that the string offering is only missing the unicode option.

I would say that just writing the generated string straight to the web-page, does not result in the prettiest of output options but it serves the purpose (at least for now).

Monday, June 16, 2008

Restart on PHP

After a few years I've picked up on PHP again. I'm reminded of how powerful a language it is - as well as how much of it I've forgotten.

My primary goal in this exercise is to be able to generate random values that can be used as test data. I started with a class for generating random strings (alphabetical, alphanumeric and ASCII) along with various formats (all capitals, all lower, sentence, title and random) as either of fixed length or of random length within a range.

This was relatively simple. The issue and where the memory hole exists is in processing input so that the values can be generated as needed. I remember processing the POST variables as well as doing input validation with error messaging. The solution is probably quite simple, I just need to finish this before moving on to the next bunch of ideas.

Thursday, June 12, 2008

Animation Fun

Pivot Stickfigure Animator can be a problem in that it illustrates a tendency for the macabre. However, my own misguided musings aside, its also extremely easy to use and a bunch of fun.

Monday, June 9, 2008

Data Generator

Data is probably the most important part of any application test.

Imaginative data is more likely to locate the bug than its more conventional friend. However, creating weird data can take a lot of time. To alleviate the strain, I've added my 2c to the field with a macro driven Excel spreadsheet.

There are drawbacks to the approach I've taken. The first of which is that it is scripted in Excel. The second is the number of codes that I needed in order to all the options that are included. The codes themselves aren't too complex, but there are enough to make remembering them a problem.

Thursday, June 5, 2008

Lifestyle change

A while ago I decided that things weren't going well. I was overweight and pretty unhealthy.

My sister and parents were pushing me towards to a low GI diet. Diets however are not something I believe in or want to deal with. The resolution to this was to make a lifestyle change.

A lifestyle change is more encompassing. For a start I not only decided to change what I was eating but also to increase my physical activity. As I have previously only enjoyed doing weight training as a form of exercise, this was an obvious choice to me. A single change would have been insufficient and so I incorporated some of the basic low GI principles within the program I decided upon.

After this time, I have trimmed down nicely and improved my physical ability as well as my overall health. Of the things I can attribute to leading to the biggest success, its being committed to reaching a goal and making a note of what I was doing in order to get there.

I'd say that writing down what you do and have done is the greatest motivator in keeping to the plan. There were some periods when I skipped writing down what I had eaten (although still recording the exercise routine) and in those periods I had the most trouble in keeping up with the overall plan and had the least progress towards the final objective.