{"id":42,"date":"2008-11-30T23:58:17","date_gmt":"2008-11-30T22:58:17","guid":{"rendered":"http:\/\/entrian.com\/blog\/it-works-for-me-or-how-does-it-know-that-its-a-developer-using-it\/"},"modified":"2021-07-01T07:13:42","modified_gmt":"2021-07-01T07:13:42","slug":"it-works-for-me-or-how-does-it-know-that-its-a-developer-using-it","status":"publish","type":"post","link":"https:\/\/entrian.com\/blog\/it-works-for-me-or-how-does-it-know-that-its-a-developer-using-it\/","title":{"rendered":"&#8220;It works for me&#8221;, or, &#8220;How does it know a developer&#8217;s using it?!&#8221;"},"content":{"rendered":"<p>We all know that software never goes wrong for its developers.\u00a0 &#8220;It works for me,&#8221; they always say.\u00a0 Here&#8217;s a story of how that sometimes goes to extremes.<\/p>\n<p>&#8220;Hi Richie, I&#8217;ve got a problem with the ActiveX plugin.&#8221;\u00a0 It was Brett, one of our consultants, working on a solution for an important customer.\u00a0 Inevitably, I couldn&#8217;t reproduce the bug.\u00a0 &#8220;Come to my office and I&#8217;ll demonstrate,&#8221; said Brett.<\/p>\n<p>The bug was that clicking a link didn&#8217;t work &#8211; nothing happened.\u00a0 Sure enough, Brett clicked the link and nothing happened.\u00a0 &#8220;Can I try?&#8221; I said, wondering what I&#8217;d been doing differently on my machine.\u00a0 The link worked perfectly.\u00a0 &#8220;What?!&#8221;\u00a0 Brett tried &#8211; nothing.\u00a0 I tried &#8211; it worked perfectly.<\/p>\n<p>So we thought, it is working every other time?\u00a0 Does it matter where the focus is when you click?\u00a0 Does it matter whether you&#8217;re standing up when you click it?\u00a0 (Stranger things have happened!)\u00a0 Everything we could think of had no effect &#8211; it <strong>always<\/strong> worked for me; it <strong>never <\/strong>worked for Brett.<\/p>\n<p>&#8220;Hey, Dave, come and have a go at this!&#8221;\u00a0 Dave was another consultant.\u00a0 Needless to say, it failed for Dave.\u00a0 Probably it would have worked if he&#8217;d been a developer &#8211; these things never fail for developers.<\/p>\n<p>I&#8217;m not sure what it was that made me think of this, but I wondered, what happens if I press-and-hold the link before releasing it?\u00a0 It failed.\u00a0 Yay!\u00a0 I&#8217;d made it fail!\u00a0 The next job was for Brett: &#8220;Click it as fast you can.&#8221;\u00a0 And it worked perfectly.\u00a0 My natural clicking action was a bit faster than the others &#8211; clickrelease &#8211; whereas the others were a bit slower: click-tiny-pause-release.<\/p>\n<p>So, the bug: When the link was clicked, a timer would start.\u00a0 The timer had nothing to do with the link &#8211; it was starting when it shouldn&#8217;t.\u00a0 The timer would fire one tenth of a second later, and take the focus away from the ActiveX control.\u00a0 If the whole mouse-button-down-mouse-button-up sequence happened in under a tenth of a second, the link would work.\u00a0 Any slower, it would fail.<\/p>\n<p>So we trained the important customer to be <em>really really quick<\/em> with the mouse, and the money rolled in.\u00a0 Or did we fix the bug?\u00a0 I forget.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>We all know that software never goes wrong for its developers.\u00a0 &#8220;It works for me,&#8221; they always say.\u00a0 Here&#8217;s a story of how that sometimes goes to extremes. &#8220;Hi Richie, I&#8217;ve got a problem with the ActiveX plugin.&#8221;\u00a0 It was Brett, one of our consultants, working on a solution for an important customer.\u00a0 Inevitably, I [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-42","post","type-post","status-publish","format-standard","hentry","category-30days"],"_links":{"self":[{"href":"https:\/\/entrian.com\/blog\/wp-json\/wp\/v2\/posts\/42","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/entrian.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/entrian.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/entrian.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/entrian.com\/blog\/wp-json\/wp\/v2\/comments?post=42"}],"version-history":[{"count":1,"href":"https:\/\/entrian.com\/blog\/wp-json\/wp\/v2\/posts\/42\/revisions"}],"predecessor-version":[{"id":1203,"href":"https:\/\/entrian.com\/blog\/wp-json\/wp\/v2\/posts\/42\/revisions\/1203"}],"wp:attachment":[{"href":"https:\/\/entrian.com\/blog\/wp-json\/wp\/v2\/media?parent=42"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/entrian.com\/blog\/wp-json\/wp\/v2\/categories?post=42"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/entrian.com\/blog\/wp-json\/wp\/v2\/tags?post=42"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}