CHDK is a firmware enhancement that operates on a number of Canon Cameras. CHDK gets loaded into your camera's memory upon bootup (either manually or automatically). It provides additional functionality beyond that currently provided by the native camera firmware.
CHDK is not a permanent firmware upgrade: you decide how it is loaded (manually or automatically) and you can always easily remove it.
http://chdk.wikia.com/wiki/CHDK
so i installed this onto my gf's sd800is. very powerful tool, i have yet to explore it but the biggest advantage to this is that it enables RAW files!