{"id":31693,"date":"2006-04-03T11:16:59","date_gmt":"2006-04-03T11:16:59","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/oldnewthing\/2006\/04\/03\/doing-the-best-we-can-until-time-travel-has-been-perfected\/"},"modified":"2006-04-03T11:16:59","modified_gmt":"2006-04-03T11:16:59","slug":"doing-the-best-we-can-until-time-travel-has-been-perfected","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/oldnewthing\/20060403-59\/?p=31693","title":{"rendered":"Doing the best we can until time travel has been perfected"},"content":{"rendered":"<p>Mistakes were made.\n Mistakes such as <a href=\"http:\/\/blogs.msdn.com\/oldnewthing\/archive\/2006\/03\/28\/563008.aspx\"> having Windows&nbsp;NT put Notepad in a different location from Windows&nbsp;3.1<\/a>. (Though I&#8217;m sure they had their reasons.) Mistakes such as having a <code>TCS_VERTICAL<\/code> when there is already a <code>CCS_VERT<\/code> style. Mistakes such as having listview state images be one-biased, whereas treeview state images are zero-biased.\n But what&#8217;s done is done. The mistakes are out there. You can&#8217;t go back and fix them&mdash;at least not until time travel has been perfected&mdash;or you&#8217;ll break code that was relying on the mistakes. (And believe me, there&#8217;s a lot of code that relies on mistakes.) You&#8217;ll just have to do the best you can with the situation as it is.\n Often, when I discuss a compatibility problem, people will respond with &#8220;<a href=\"http:\/\/blogs.msdn.com\/oldnewthing\/archive\/2006\/03\/21\/556505.aspx#556544\">That&#8217;s your own damn fault. If you had done XYZ, then you wouldn&#8217;t have gotten into this mess<\/a>.&#8221; Maybe that&#8217;s true, maybe it isn&#8217;t, but that doesn&#8217;t make any progress towards solving the problem and therefore isn&#8217;t very constructive. I sure hope these people never become lifeguards.\n &#8220;Help me, I&#8217;m drowning!&#8221;\n &#8220;Are you wearing a life preserver?&#8221;\n &#8220;No.&#8221;\n &#8220;Well, if you had worn a life preserver, then you wouldn&#8217;t be drowning. It&#8217;s your own damn fault.&#8221;<\/p>\n<p> When faced with a problem, you first need to understand the problem, then you set about exploring solutions to the problem. Looking for someone to blame doesn&#8217;t solve the problem. I&#8217;m not saying that one should never assign blame, just that doing so doesn&#8217;t actually solve anybody&#8217;s problem. (If you want to blame somebody, do it at the bug post-mortem. Then you can study the conditions that led to the mistake, assign blame, if you&#8217;re looking for a scapegoat, and take steps to prevent a future mistake of the same sort from occurring. As a lifeguard, you first rescue the drowning person, and then you lecture them for not wearing a life preserver.) <\/p>\n","protected":false},"excerpt":{"rendered":"<p>Mistakes were made. Mistakes such as having Windows&nbsp;NT put Notepad in a different location from Windows&nbsp;3.1. (Though I&#8217;m sure they had their reasons.) Mistakes such as having a TCS_VERTICAL when there is already a CCS_VERT style. Mistakes such as having listview state images be one-biased, whereas treeview state images are zero-biased. But what&#8217;s done is [&hellip;]<\/p>\n","protected":false},"author":1069,"featured_media":111744,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[26],"class_list":["post-31693","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-oldnewthing","tag-other"],"acf":[],"blog_post_summary":"<p>Mistakes were made. Mistakes such as having Windows&nbsp;NT put Notepad in a different location from Windows&nbsp;3.1. (Though I&#8217;m sure they had their reasons.) Mistakes such as having a TCS_VERTICAL when there is already a CCS_VERT style. Mistakes such as having listview state images be one-biased, whereas treeview state images are zero-biased. But what&#8217;s done is [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/posts\/31693","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/users\/1069"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/comments?post=31693"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/posts\/31693\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/media\/111744"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/media?parent=31693"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/categories?post=31693"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/tags?post=31693"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}