VulgarSoftware

Monday, August 28, 2006

Robustness Principle -

From RFC 793: Transmission Control Protocol
2.10. Robustness Principle

TCP implementations will follow a general principle of robustness: be conservative in what you do, be liberal in what you accept from others.

Friday, August 18, 2006

The Gender Table

In my current job, I write hot fixes for a buggy 3-tier VB6 app. The app connects to a SQL Server database and has a Person table. This table has the typical demographic fields like first, last, middle name and birth date. There is also a ‘Gender_ID’ field.

The Gender_ID field is a numeric field that can hold 100000 numbers. That means we can have 100000 different genders. Last I heard, there were only 2.

Technically, we could use a bit field. But sometimes you just don’t know the gender. So that means you need a 3rd choice: ’Unknown’. This is the thing about real life. There are no black and white answers.

A common practice of old (before Y2K) was to use a single character (byte) field. The storage space allowed for 256 choices, but we could use a letter that was easily understood in reports. The choices were typically M, F, or U.

Apparently, the designers of our software were very forward thinking. They must have realized that there are people out there that have undergone sex changes and, since the software is used in a clinical setting, that fact may be pertinent to certain diagnoses. The Gender_ID field therefore links to a Gender table. The Gender table includes a 255-character description field. This design allows us to create a gender like ‘Was born a man, became a woman at age 23 and then switched back after finding God at age 42.’

This design also allows us to prepare for the inevitable clash with alien species that may have more than 2 genders. Can you imagine a species that requires 3 or 4 individuals to reproduce? Many plants and simple organisms reproduce asexually. It’s not a stretch to reason that since there are examples of single and double gender species, there may be triple or quadruple gender species as well.

What is the advantage of having two genders? Since a single sex species reproduces exact replicas (clones, if you will), diversity within such a species is limited and mutations are rare. Adding a second set of chromosomes mixes up the pot a bit. Wouldn’t it stand to reason that adding a third set would create even more diversity – as well as more chances of mutations?

If you increase the chances of mutation, you increase the speed a species can adapt to a changing environment. That may be desirable in the current administration.

So if you take this argument sideways and wrap it around man’s baser instincts to have sex with everything that moves, you come to the conclusion that those that society considers sexually abnormal (i.e. gays and Mormons) are taking point in the evolution of the species.

Wednesday, August 16, 2006

Management Incentive Program

I am a software developer at a big healthcare company. The company is over 100 years old and has been reorganizing itself since I started 7 years ago. My job is software maintenance. I deal with customer issues that require bug fixes. While there are some parts to the design of the software that suck, the worst bugs are more due to bad management than bad design.

Bad management is everywhere. We laugh about bureaucracies and we tolerate middle management. We ask for tools to help us do our job. And when, upon their urging, we suggest ways to help us improve, managers tell us that, to their great dismay, they are powerless to act.

Management is a club. Managers have cash incentives. These incentives are supposed to motivate the managers into thinking they have a real stake in the company. They try to hide their incentives from the employees. Ironically, managers tend to motivate these same employees by telling them they are lucky to have jobs.

Not all managers are bad. Most are merely mediocre. I accepted a position at my current job because I sensed my manager would be a good one. I was correct. This manager let me into the managers’ club and gave me substantial cash incentives that were nominally given to the managers, but were at the time also given to employees that were considered critical assets.

Then she left the company. Two managers later and now I’m being kicked out of the club. Apparently every middle manager in the company is a more critical asset then I am.

I’m sure someone in HR is ‘just trying to be fair’ – but in this case, fairness seems to be where ever management happens to draw the line. Clearly, they draw the line between themselves and their employees.

What makes me angry is that managers at the company I work for have been talking about a separate technical track for those whose skills would be wasted in management. They could have used this opportunity to put their money where their mouth is. They could have expanded the cash incentive program to non-management and included more employees (and, ideally, excluded under-performing managers).

Instead, they retracted their incentives from individuals who were at one time considered critical.

I’ve truly lost my incentive to work there.

Thursday, August 10, 2006

"A Celebration of Inconvenience"

I heard on the BBC today a new euphemism wherein some government official referred to the new ban on liquids in carry-on luggage as "A Celebration of Inconvenience." Definitely Orwellian. I can't help but think there was a little chuckle inside the mind of the official juxtaposing that new euphemism with "An Inconvenient Truth."

Doing a little regression analysis shows that in the near future, we will be issued jump suits before boarding any commercial flights. I won't go so far as to say we will be cavity searched, but we'll need to get used to surrendering all our belongings.

So who are the criminals? If we punish criminals by taking away their freedoms, what do we call it when we take away freedoms from our citizens?

Sure, 9/11 was a tragedy. But life goes on. There will be another terrorist attack somewhere, someday. It is inevitable. Whether the terrorists are radical islamists or libertarians, it doesn't matter. There are powerful forces that nurture the 'we vs. them' attitude.

That attitude is the basis of just about every religion and government...and their associated sects and bureaucracies as well. It is the basis of games and business so it permeates our lives at work and play.

Unfortunately, that attitude is self-perpetuating. Humans are a social lot. 'We' tend to favor 'us' over 'them' simply because 'we' have a wider framework in which to communicate with 'us' than with 'them.' And 'they' know 'we' prefer 'us'. For the same reasons, 'they' prefer 'them.'

Humans are a sensitive lot. A person knows when they are being shunned, ignored or passed over. We rankle when the popular kid talks to us condescendingly while stuck in the elevator together. If that popular kid also happens to be a bully, we glue the pages of his textbooks together when he falls asleep.

Should we ban glue?

People in charge are famous for making up rules that are fair for everyone. Everyone gets padded down on the way into a concert. Everyone must leave the premises by 2am. Everyone must show their ID to board a plane. A few bad apples spoil it for everyone.

Humans are a resourceful lot. We tend to find ways to work around the system. The people in charge make up more rules to patch the holes in the system. We find more holes and they add more rules. Each rule is a minor inconvenience. The cycle continues til you got yourself a midrash and no one remembers why the original rule was made up.

The oppressed feel they owe it to the ones that come after to rise up and fight their oppressors. Unfortunately, they are powerless against their true oppressors, so they terrorize the subjects of their oppressors. The oppressors, meanwhile, feel they owe it to their subjects to fight the oppressed terrorists. Unfortunately, they are powerless against the truly oppressed (what do you take from he who has nothing?), so they tighten the reigns on their subjects.

When 9/11 happened, my dad said we should start a war against hate. Instead, we started a war against terror. Terror is a reaction. We are fighting a reaction. What is the source of a reaction, but an action? What is the action to which terror is the reaction? Hate.

But how do we fight hate if we hate the people that are hating? Uh, well...we don't really hate them, we just hate what they're doing - and what they're doing is spreading terror - so - we're fighting terror...

Wouldn't it be better to work on trying to get them to stop hating us? or is that too inconvenient?

Friday, August 04, 2006

Question Authority - especially your own...