{"id":24803,"date":"2007-10-12T10:00:00","date_gmt":"2007-10-12T10:00:00","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/oldnewthing\/2007\/10\/12\/no-good-deed-goes-unpunished-free-code-samples\/"},"modified":"2007-10-12T10:00:00","modified_gmt":"2007-10-12T10:00:00","slug":"no-good-deed-goes-unpunished-free-code-samples","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/oldnewthing\/20071012-00\/?p=24803","title":{"rendered":"No good deed goes unpunished: Free code samples"},"content":{"rendered":"<p>There&#8217;s no such thing as a free lunch. Or free code either.\n Many years ago, I wrote some samples for the SDK as a favor, and at each major SDK release, I am reminded that no good deed goes unpunished.\n I can tell when a major SDK release is coming, because I get a piece of mail that goes something like this:<\/p>\n<blockquote class=\"m\"><p> Hi. You are on file as the owner of at least one SDK sample. Please fill out the following gazillion-item checklist for each sample. If you don&#8217;t do this by (some date), your sample will be removed from the SDK. <\/p><\/blockquote>\n<p> Yup, it&#8217;s another episode of &#8220;You&#8217;re not my manager.&#8221;\n This gazillion-item checklist goes something like this:<\/p>\n<blockquote class=\"m\">\n<ul>\n<li>Start with a clean install of Windows&nbsp;XP with all service packs and patches. <\/li>\n<li>Install Visual Studio Super Awesome Edition. <\/li>\n<li>Install the latest build of the Platform SDK from this internal web site. <\/li>\n<li>Launch Visual Studio and change the following settings: &#8230; <\/li>\n<li>Open your sample in Visual Studio with the following settings: &#8230; <\/li>\n<li>Compile and run it, confirm that it builds with no warnings or errors     and that it runs successfully. <\/li>\n<li>Repeat with Windows&nbsp;XP 64-bit Edition. <\/li>\n<li>Go to this internal web site and install additional stuff. <\/li>\n<li>Run additional tests X, Y and Z and ensure that your sample     passes them all. <\/li>\n<li>&#8230; etc &#8230; <\/li>\n<\/ul>\n<\/blockquote>\n<p> It&#8217;s the gift that punishes the giver. And not just once, but repeatedly, with no end in sight. If I&#8217;d know that writing an SDK sample would be so much recurring hassle, I might not have done it.\n Every time this happens, I have to remind the SDK folks that if they want people to do something as a favor to them, they have to make it easy. This means setting up machines with Windows&nbsp;XP and Windows&nbsp;XP 64-bit edition, installing Visual Studio Super Awesome Edition and all the additional tools, and letting people use Remote Desktop to connect to them, compile their samples, and run tests X, Y and Z.<\/p>\n<p> Each time I recommend that they do this, the response is &#8220;Hey, that&#8217;s a good idea.&#8221; It&#8217;s like they forget that they did this same thing last time. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>There&#8217;s no such thing as a free lunch. Or free code either. Many years ago, I wrote some samples for the SDK as a favor, and at each major SDK release, I am reminded that no good deed goes unpunished. I can tell when a major SDK release is coming, because I get a piece [&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":[133,26],"class_list":["post-24803","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-oldnewthing","tag-no-good-deed-goes-unpunished","tag-other"],"acf":[],"blog_post_summary":"<p>There&#8217;s no such thing as a free lunch. Or free code either. Many years ago, I wrote some samples for the SDK as a favor, and at each major SDK release, I am reminded that no good deed goes unpunished. I can tell when a major SDK release is coming, because I get a piece [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/posts\/24803","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=24803"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/posts\/24803\/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=24803"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/categories?post=24803"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/oldnewthing\/wp-json\/wp\/v2\/tags?post=24803"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}