{"id":23,"date":"2005-05-02T23:13:16","date_gmt":"2005-05-03T07:13:16","guid":{"rendered":"http:\/\/outflux.net\/blog\/archives\/2005\/05\/02\/i-feel-dirty\/"},"modified":"2005-05-02T23:13:16","modified_gmt":"2005-05-03T07:13:16","slug":"i-feel-dirty","status":"publish","type":"post","link":"https:\/\/outflux.net\/blog\/archives\/2005\/05\/02\/i-feel-dirty\/","title":{"rendered":"I feel dirty"},"content":{"rendered":"<p>I&#8217;ve just published <a href=\"http:\/\/outflux.net\/software\/pkgs\/srcfilter\/\">srcfilter<\/a>.  It runs under <a href=\"http:\/\/www.winehq.com\/\">Wine<\/a>, which is the only reason I kept working on it.  Coding in the Windows style has this sickening allure, like an overly sweet smell.  I know I don&#8217;t want it, but it seems so tasty.  (Oh, DWORD, how I hate thee.  All your instance names start with &#8220;dw&#8221;.)<\/p>\n<p>Anyway, srcfilter uses the <a href=\"http:\/\/http:\/\/msdn.microsoft.com\/library\/default.asp?url=\/library\/en-us\/directshow\/htm\/dshowcoreinterfaces.asp\">DirectShow API<\/a> to initialize a <a href=\"http:\/\/http:\/\/msdn.microsoft.com\/library\/default.asp?url=\/library\/en-us\/directshow\/htm\/ifilesourcefilterinterface.asp\">SourceFilter<\/a> from a DLL you supply.  It then pulls a specified source file through the DLL, writing the output to a file.  Similiar things can be done with the <a href=\"http:\/\/http:\/\/msmvps.com\/chrisl\/archive\/2004\/11\/13\/18992.aspx\">GraphEdit<\/a> tool that comes with the DirectX SDK.  If you wanted to set up a Graph that uses a SourceFilter to read a file and a Dump sink to write output, you can use srcfilter to do the same thing.  And you wouldn&#8217;t need Windows to do it.<\/p>\n<p style='text-align:left'>&copy; 2005, <a href=\"https:\/\/outflux.net\/blog\/\">Kees Cook<\/a>. This work is licensed under a <a rel=\"license\" href=\"http:\/\/creativecommons.org\/licenses\/by-sa\/4.0\/\">Creative Commons Attribution-ShareAlike 4.0 License<\/a>.<br \/><a rel=\"license\" href=\"http:\/\/creativecommons.org\/licenses\/by-sa\/4.0\/\"><img decoding=\"async\" alt=\"CC BY-SA 4.0\" style=\"border-width:0\" src=\"https:\/\/i.creativecommons.org\/l\/by-sa\/4.0\/88x31.png\" \/><\/a> <\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;ve just published srcfilter. It runs under Wine, which is the only reason I kept working on it. Coding in the Windows style has this sickening allure, like an overly sweet smell. I know I don&#8217;t want it, but it seems so tasty. (Oh, DWORD, how I hate thee. All your instance names start with [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"_links":{"self":[{"href":"https:\/\/outflux.net\/blog\/wp-json\/wp\/v2\/posts\/23"}],"collection":[{"href":"https:\/\/outflux.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/outflux.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/outflux.net\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/outflux.net\/blog\/wp-json\/wp\/v2\/comments?post=23"}],"version-history":[{"count":0,"href":"https:\/\/outflux.net\/blog\/wp-json\/wp\/v2\/posts\/23\/revisions"}],"wp:attachment":[{"href":"https:\/\/outflux.net\/blog\/wp-json\/wp\/v2\/media?parent=23"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/outflux.net\/blog\/wp-json\/wp\/v2\/categories?post=23"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/outflux.net\/blog\/wp-json\/wp\/v2\/tags?post=23"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}