Monthly Archives: September 2009

Playing The Game

I’ve become fascinated recently with Game Theory. I think it’s because slowly I’ve come to realize we are all actually just playing games, or rather, life is a game. Whether it’s business, relationships, corporate jostling, politics, or economics, just about everything in life when dealing with people is a game.

One simple example is the Prisoner’s Dilemma. Basically this is a game in which you have two players (two suspects in a crime) each of them are interrogated separately and they can not talk. The players can either, stay silent, or betray the other:

Prisoner B Stays Silent Prisoner B Betrays
Prisoner A Stays Silent Each serves 6 months Prisoner A: 10 years
Prisoner B: goes free
Prisoner A Betrays Prisoner A: goes free
Prisoner B: 10 years
Each serves 5 years

I think what I like most about this is that it can also be expressed mathematically, and you can determine / calculate optimal and sub-optimal strategies… Anyways I just find this stuff fascinating…

So if you think you don’t need to play games in life, remember, life’s a game, you just don’t know it.

The software/website bloat cycle.

  1. Someone or some company creates useful software.
  2. Features get added to make useful software profitable or make more users happy.
  3. Features don’t get removed because they make some customers happy and you don’t have time/money to test removal.
  4. Over time the software gets so complicated, you forget all the features.
  5. In the quest for perfection/complete testing, you find that you can’t be perfect or complete and settle for less than 100% test coverage.
  6. Some feature breaks because it wasn’t tested.
  7. There’s a bug fix/patch to get this fixed ASAP.
  8. Software get’s duct tape or worse people loose their job because it broke.
  9. Management decides they need to convert to a new system or completely rebuild the old system because it’s too complicated and creates errors.
  10. Go to 1

Now this cycle will repeat, always, no matter how much time and effort you spend keeping the code clean or testing, inevitably entropy will catch up with your software or your website. The only advise is that if you find yourself in steps 5-8 of the bloat cycle, get a new job, or get to step 9 as soon as possible.