{"id":93,"date":"2008-07-10T21:10:47","date_gmt":"2008-07-11T01:10:47","guid":{"rendered":"http:\/\/ryepup.unwashedmeme.com\/blog\/?p=93"},"modified":"2008-07-10T21:10:47","modified_gmt":"2008-07-11T01:10:47","slug":"new-term-stealthy-patch","status":"publish","type":"post","link":"http:\/\/ryepup.unwashedmeme.com\/blog\/2008\/07\/10\/new-term-stealthy-patch\/","title":{"rendered":"New term: Stealthy-patch"},"content":{"rendered":"<p>By now we&#8217;ve all heard of <a href=\"http:\/\/en.wikipedia.org\/wiki\/Monkey_patch\">monkey-patching<\/a>, and I propose a new variant: stealthy-patching.\u00c2\u00a0 This is the act of patching a currently running process with zero downtime.\u00c2\u00a0 This is similar to monkey patching, but doesn&#8217;t have the negative connotations.<\/p>\n<p>I just connected to the <a href=\"http:\/\/gainesville-green.com\/\">Gainesville-Green<\/a> 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.\u00c2\u00a0 All told I redefined 1 UCW component and 2 defmethods, all without any active users getting interrupted.<\/p>\n<p>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.<\/p>\n<p>Ahhh&#8230; so much flexibility.\u00c2\u00a0 It&#8217;s like getting into a hot-tub after a long day of frigid C#.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>By now we&#8217;ve all heard of monkey-patching, and I propose a new variant: stealthy-patching.\u00c2\u00a0 This is the act of patching a currently running process with zero downtime.\u00c2\u00a0 This is similar to monkey patching, but doesn&#8217;t have the negative connotations. I just connected to the Gainesville-Green app and evaluated a few forms to add intelligent handling [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[27,15],"tags":[],"class_list":["post-93","post","type-post","status-publish","format-standard","hentry","category-gainesville-green","category-lisp"],"_links":{"self":[{"href":"http:\/\/ryepup.unwashedmeme.com\/blog\/wp-json\/wp\/v2\/posts\/93","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/ryepup.unwashedmeme.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/ryepup.unwashedmeme.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/ryepup.unwashedmeme.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/ryepup.unwashedmeme.com\/blog\/wp-json\/wp\/v2\/comments?post=93"}],"version-history":[{"count":0,"href":"http:\/\/ryepup.unwashedmeme.com\/blog\/wp-json\/wp\/v2\/posts\/93\/revisions"}],"wp:attachment":[{"href":"http:\/\/ryepup.unwashedmeme.com\/blog\/wp-json\/wp\/v2\/media?parent=93"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/ryepup.unwashedmeme.com\/blog\/wp-json\/wp\/v2\/categories?post=93"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/ryepup.unwashedmeme.com\/blog\/wp-json\/wp\/v2\/tags?post=93"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}