{"id":14975,"date":"2014-07-18T20:08:38","date_gmt":"2014-07-19T01:08:38","guid":{"rendered":"http:\/\/blog.kenperlin.com\/?p=14975"},"modified":"2014-07-18T20:08:38","modified_gmt":"2014-07-19T01:08:38","slug":"kludge-bridging","status":"publish","type":"post","link":"http:\/\/blog.kenperlin.com\/?p=14975","title":{"rendered":"Kludge bridging"},"content":{"rendered":"<p>Yesterday evening I stayed up late trying to fix a bug in my computer program.  I had a general idea what was causing it, but try as I might, I couldn&#8217;t track it down.  This went on for several hours.<\/p>\n<p>I didn&#8217;t feel like going to sleep without having done anything useful.  So just before I retired, I put in a little kludge &#8212; a completely hacked work-around &#8212; so that the bug wouldn&#8217;t show up.<\/p>\n<p>It wasn&#8217;t a solution, and the bug was still lurking somewhere in the code, but my kludge was making sure the bug wouldn&#8217;t produce any symptoms.<\/p>\n<p>When I woke up this morning, I realized that if I knew enough to make the kludge work, then I knew enough to solve the underlying problem.  I went back and made a small change, and sure enough, the first thing I tried was successful.  I had fixed the bug!<\/p>\n<p>What I then realized was that the very fact that I had known enough to create my kludge meant that somewhere, in the back of my mind, I already knew what the problem was.  The knowledge just hadn&#8217;t yet percolated to the front of my brain.<\/p>\n<p>The take-away lesson seems to be this: If you can&#8217;t figure out the solution to a problem, it&#8217;s ok to create a temporary fix.  Your kludged up patch does not need to be elegant.  It just needs to work.<\/p>\n<p>The very fact that you have gotten this far means that your mind is on its way to the real solution.  The kludge is your bridge to get there.<\/p>\n<p>Getting something working, even if via the &#8220;wrong&#8221; solution, may be just the hint you need to get you the rest of the way.  <\/p>\n","protected":false},"excerpt":{"rendered":"<p>Yesterday evening I stayed up late trying to fix a bug in my computer program. I had a general idea what was causing it, but try as I might, I couldn&#8217;t track it down. This went on for several hours. I didn&#8217;t feel like going to sleep without having done anything useful. So just before &hellip; <a href=\"http:\/\/blog.kenperlin.com\/?p=14975\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Kludge bridging&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"http:\/\/blog.kenperlin.com\/index.php?rest_route=\/wp\/v2\/posts\/14975"}],"collection":[{"href":"http:\/\/blog.kenperlin.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.kenperlin.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.kenperlin.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.kenperlin.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=14975"}],"version-history":[{"count":1,"href":"http:\/\/blog.kenperlin.com\/index.php?rest_route=\/wp\/v2\/posts\/14975\/revisions"}],"predecessor-version":[{"id":14976,"href":"http:\/\/blog.kenperlin.com\/index.php?rest_route=\/wp\/v2\/posts\/14975\/revisions\/14976"}],"wp:attachment":[{"href":"http:\/\/blog.kenperlin.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=14975"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.kenperlin.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=14975"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.kenperlin.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=14975"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}