By now we’ve all heard of monkey-patching, and I propose a new variant: stealthy-patching. This is the act of patching a currently running process with zero downtime. This is similar to monkey patching, but doesn’t have the negative connotations.
I just connected to the Gainesville-Green app and evaluated a few forms to add intelligent handling of the enter button on search pages, along with some new parenscript for more IE compatibility. All told I redefined 1 UCW component and 2 defmethods, all without any active users getting interrupted.
On the other side of the coin, I also compiled and uploaded a new SBCL core containing those fixes, so next time the application restarts (in a suprise reboot, for example), my patches will still be in place.
Ahhh… so much flexibility. It’s like getting into a hot-tub after a long day of frigid C#.