<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>Programing</title>
        <link>http://www.unmitigatedrisk.com/category/10.aspx</link>
        <description>Programing</description>
        <language>en-US</language>
        <copyright>Ryan M. Hurst</copyright>
        <managingEditor>rmh@unmitigatedrisk.com</managingEditor>
        <generator>Subtext Version 1.9.3.51</generator>
        <item>
            <title>Resources about the Windows Biometric Framework</title>
            <link>http://unmitigatedrisk.com/archive/2009/01/14/222.aspx</link>
            <description>&lt;p&gt;I will use this post to catalog public resources on the &lt;a href="http://www.microsoft.com/whdc/device/biometric/default.mspx"&gt;Windows Biometric Framework&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If you run across any that I miss please let me know, I should reliably catch the technical content ;)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;u&gt;TECHNICAL&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href="http://download.microsoft.com/download/9/c/5/9c5b2167-8017-4bae-9fde-d599bac8184a/WBFIntro.docx"&gt;Introduction to the Windows Biometric Framework (WBF)&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;&lt;a href="http://download.microsoft.com/download/5/E/6/5E66B27B-988B-4F50-AF3A-C2FF1E62180F/COR-T611_WH08.pptx"&gt;New Windows Biometric Framework and Driver Model&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;&lt;a href="http://www.microsoft.com/whdc/devtools/WDK/default.mspx#win7wdk-beta"&gt;Windows 7 Beta WDK&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;&lt;a href="http://code.msdn.microsoft.com/Win7DeveloperGuide"&gt;Windows 7 Developer Guide&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb870474.aspx"&gt;API Documentation&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;font face=""&gt;Windows Biometric Framework API - (&lt;a href="http://msdn.microsoft.com/en-us/library/dd401509(VS.85).aspx"&gt;http://msdn.microsoft.com/en-us/library/dd401509(VS.85).aspx&lt;/a&gt;)&lt;/font&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/aa972908.aspx"&gt;Driver Kit Documentation&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://download.microsoft.com/download/5/E/6/5E66B27B-988B-4F50-AF3A-C2FF1E62180F/COR-T611_WH08.pptx"&gt;New Windows Biometric Framework and Driver Model&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://www.microsoft.com/whdc/device/biometric/WBF_CodeSign.mspx"&gt;Windows Biometric Code Signing Guide&lt;/a&gt; - (&lt;font face=""&gt;&lt;a href="http://www.microsoft.com/whdc/device/biometric/WBF_CodeSign.mspx"&gt;http://www.microsoft.com/whdc/device/biometric/WBF_CodeSign.mspx&lt;/a&gt;)&lt;/font&gt;&lt;/li&gt;
    &lt;li&gt;MSDN Documentation for WBF (&lt;a href="http://msdn.microsoft.com/en-us/library/dd401509(VS.85).aspx"&gt;http://msdn.microsoft.com/en-us/library/dd401509(VS.85).aspx&lt;/a&gt;)&lt;/li&gt;
    &lt;li&gt;&lt;font face=""&gt;Design Guidance for a Enrollment Application - (&lt;a href="http://www.microsoft.com/whdc/device/biometric/FMA_Design.mspx"&gt;http://www.microsoft.com/whdc/device/biometric/FMA_Design.mspx&lt;/a&gt;) &lt;/font&gt;&lt;/li&gt;
    &lt;li&gt;Bio Approval Workflow - (&lt;font face=""&gt;&lt;a href="http://www.jwsecure.com/files/Samples2009/Implementing_a_Biometric_Approval_Workflow.pdf"&gt;http://www.jwsecure.com/files/Samples2009/Implementing_a_Biometric_Approval_Workflow.pdf&lt;/a&gt;)&lt;/font&gt;&lt;/li&gt;
    &lt;li&gt;&lt;font face=""&gt;A partial managed wrapper - (&lt;a href="http://bioapprovalworkflow.codeplex.com/"&gt;http://bioapprovalworkflow.codeplex.com/&lt;/a&gt;)&lt;/font&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;&lt;u&gt;EDITORIAL&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;ArsTechnica - &lt;a href="http://arstechnica.com/articles/paedia/windows-7-beta.ars"&gt;Deep inside the Windows 7 Public Beta&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;NeoWin - &lt;a href="http://www.neowin.net/news/main/09/01/11/windows-7-bitlocker-to-go--biometric-improvements-overview"&gt;Bitlocker-To-Go and Biometric Improvements&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;CNET - &lt;a href="http://news.cnet.com/8301-13860_3-10086819-56.html"&gt;7 things you did not know about Windows 7&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;Windows Team Blog - &lt;a href="http://windowsteamblog.com/blogs/windows7/archive/2009/01/08/windows-7-puts-it-s-finger-on-enhanced-biometric-support.aspx"&gt;Windows 7 Puts it’s Finger on Enhanced Biometric Support&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;WindowsSecurity.com Blog - &lt;font face=""&gt;&lt;a href="http://www.windowsecurity.com/articles/Whats-new-security-front-Windows-7.html"&gt;http://www.windowsecurity.com/articles/Whats-new-security-front-Windows-7.html&lt;/a&gt;&lt;/font&gt;  &lt;/li&gt;
    &lt;li&gt;&lt;font face=""&gt;&lt;font face=""&gt;&lt;a href="http://www.net-security.org"&gt;www.net-security.org&lt;/a&gt; - &lt;/font&gt;Strong authentication with biometrics for Windows 7 - &lt;font face=""&gt;&lt;a href="http://www.net-security.org/secworld.php?id=7358"&gt;http://www.net-security.org/secworld.php?id=7358&lt;/a&gt; &lt;/font&gt;&lt;/font&gt;&lt;/li&gt;
    &lt;li&gt;Windows Team Blog - End-To-End Trust and Windows7 - &lt;font face=""&gt;&lt;a href="http://windowsteamblog.com/blogs/windowssecurity/archive/2009/04/21/end-to-end-trust-and-windows-7.aspx"&gt;http://windowsteamblog.com/blogs/windowssecurity/archive/2009/04/21/end-to-end-trust-and-windows-7.aspx&lt;/a&gt;&lt;/font&gt;&lt;/li&gt;
    &lt;li&gt;&lt;font face=""&gt;eWeek - &lt;font face=""&gt;Windows 7 Security Enhancements Summed Up - &lt;font face=""&gt;&lt;a href="http://www.eweek.com/c/a/Security/Windows-7-Security-Enhancements-Summed-Up-358323/"&gt;http://www.eweek.com/c/a/Security/Windows-7-Security-Enhancements-Summed-Up-358323/&lt;/a&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://unmitigatedrisk.com/aggbug/222.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Ryan M. Hurst</dc:creator>
            <guid>http://unmitigatedrisk.com/archive/2009/01/14/222.aspx</guid>
            <pubDate>Thu, 15 Jan 2009 06:22:10 GMT</pubDate>
            <wfw:comment>http://unmitigatedrisk.com/comments/222.aspx</wfw:comment>
            <comments>http://unmitigatedrisk.com/archive/2009/01/14/222.aspx#feedback</comments>
            <slash:comments>7</slash:comments>
            <wfw:commentRss>http://unmitigatedrisk.com/comments/commentRss/222.aspx</wfw:commentRss>
            <trackback:ping>http://unmitigatedrisk.com/services/trackbacks/222.aspx</trackback:ping>
        </item>
        <item>
            <title>Thinking outside-the-box, or loosing your privacy little by little</title>
            <link>http://unmitigatedrisk.com/archive/2008/11/29/214.aspx</link>
            <description>&lt;p&gt;I ran across a neat &lt;a href="http://www.azarask.in/blog/post/socialhistoryjs/"&gt;article&lt;/a&gt; on using Javascript and default CSS behaviors to infer what &lt;a href="http://ha.ckers.org/weird/CSS-history.cgi"&gt;sites you frequent&lt;/a&gt;, this is not new, the earliest reference I could find of this was from &lt;a href="http://jeremiahgrossman.blogspot.com/2006/08/i-know-where-youve-been.html"&gt;2006&lt;/a&gt; but I bet this has been going on for much longer.&lt;/p&gt;  &lt;p&gt;An example of analytics that can be applied to this data is that one follow is using your URL history to infer &lt;a href="http://www.mikeonads.com/2008/07/13/using-your-browser-url-history-estimate-gender/"&gt;gender&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;These are great examples of thinking outside the box and how privacy is an illusion (especially on the web).&lt;/p&gt;&lt;img src="http://unmitigatedrisk.com/aggbug/214.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Ryan M. Hurst</dc:creator>
            <guid>http://unmitigatedrisk.com/archive/2008/11/29/214.aspx</guid>
            <pubDate>Sun, 30 Nov 2008 07:31:04 GMT</pubDate>
            <wfw:comment>http://unmitigatedrisk.com/comments/214.aspx</wfw:comment>
            <comments>http://unmitigatedrisk.com/archive/2008/11/29/214.aspx#feedback</comments>
            <wfw:commentRss>http://unmitigatedrisk.com/comments/commentRss/214.aspx</wfw:commentRss>
            <trackback:ping>http://unmitigatedrisk.com/services/trackbacks/214.aspx</trackback:ping>
        </item>
        <item>
            <title>How to tell if a volume is Bitlocker protected with TPM and PIN</title>
            <link>http://unmitigatedrisk.com/archive/2008/11/12/208.aspx</link>
            <description>&lt;p&gt;Today I was presented with a question, how can I tell if the OS volume is protected with Bitlocker a TPM and a PIN.&lt;/p&gt;
&lt;p&gt;Since I could not sleep (its 2:30AM right now) I figured I would throw together a quick and dirty script that checks for that, it was pretty easy to do.&lt;/p&gt;
&lt;p&gt;I started with the documentation for &lt;a href="http://msdn.microsoft.com/en-us/library/aa376483(VS.85).aspx"&gt;Win32_EncryptableVolume&lt;/a&gt; which I recall seeing previously in a unrelated mail at some point, from there I discovered the &lt;a href="http://msdn.microsoft.com/en-us/library/aa376441(VS.85).aspx"&gt;GetKeyProtectors&lt;/a&gt; method, I then did a search on &lt;a href="http://search.live.com/results.aspx?q=site%3Amicrosoft.com+GetKeyProtectors+VBSCRIPT&amp;amp;form=QBLH"&gt;Live&lt;/a&gt; for GetKeyProtectors and VBSCRIPT that was scoped to Microsoft.com domains.&lt;/p&gt;
&lt;p&gt;This got me a handful of samples, I took one hacked it up and came up with this:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;' -------------------------------------------------------------------------------- &lt;br /&gt;
' Get configuration we will need &lt;br /&gt;
' -------------------------------------------------------------------------------- &lt;br /&gt;
' Get the OS System Drive &lt;br /&gt;
set shell = WScript.CreateObject( "WScript.Shell" ) &lt;br /&gt;
strDriveLetter = shell.ExpandEnvironmentStrings("%SystemDrive%") &lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;' Target computer name &lt;br /&gt;
' Use "." to connect to the local computer &lt;br /&gt;
strComputerName = "." &lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;' -------------------------------------------------------------------------------- &lt;br /&gt;
' Connect to the BitLocker WMI provider class &lt;br /&gt;
' -------------------------------------------------------------------------------- &lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;strConnectionStr = "winmgmts:" _ &lt;br /&gt;
                 &amp;amp; "{impersonationLevel=impersonate,authenticationLevel=pktPrivacy}!\\" _ &lt;br /&gt;
                 &amp;amp; strComputerName _ &lt;br /&gt;
                 &amp;amp; "\root\cimv2\Security\MicrosoftVolumeEncryption" &lt;br /&gt;
On Error Resume Next 'handle permission errors &lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Set objWMIService = GetObject(strConnectionStr) &lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;If Err.Number &amp;lt;&amp;gt; 0 Then &lt;br /&gt;
     WScript.Echo "Failed to connect to the BitLocker interface (Error 0x" &amp;amp; Hex(Err.Number) &amp;amp; ")." &lt;br /&gt;
     Wscript.Echo "Ensure that you are running with administrative privileges." &lt;br /&gt;
     WScript.Quit -1 &lt;br /&gt;
End If &lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;On Error GoTo 0 &lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;' -------------------------------------------------------------------------------- &lt;br /&gt;
' Get a list of volumes that could be bitlocker protected. &lt;br /&gt;
' -------------------------------------------------------------------------------- &lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;strQuery = "Select * from Win32_EncryptableVolume where DriveLetter='" &amp;amp; strDriveLetter &amp;amp; "'" &lt;br /&gt;
Set colTargetVolumes = objWMIService.ExecQuery(strQuery) &lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;If colTargetVolumes.Count = 0 Then &lt;br /&gt;
    WScript.Echo "FAILURE: Unable to find BitLocker-capable drive " &amp;amp;  strDriveLetter &amp;amp; " on computer " &amp;amp; strComputerName &amp;amp; "." &lt;br /&gt;
    WScript.Quit -1 &lt;br /&gt;
End If &lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;' there should only be one volume found &lt;br /&gt;
For Each objFoundVolume in colTargetVolumes &lt;br /&gt;
    set objVolume = objFoundVolume &lt;br /&gt;
Next &lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;' -------------------------------------------------------------------------------- &lt;br /&gt;
' Now check if it was protected with a TPM and a PIN &lt;br /&gt;
' -------------------------------------------------------------------------------- &lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;nKeyProtectorTypeIn = 4 ' type associated with "TPM and Pin" protector &lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;nRC = objVolume.GetKeyProtectors(nKeyProtectorTypeIn, aKeyProtectorIDs) &lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;If nRC &amp;lt;&amp;gt; 0 Then &lt;br /&gt;
WScript.Echo "FAILURE: GetKeyProtectors failed with return code 0x" &amp;amp; Hex(nRC) &lt;br /&gt;
WScript.Quit -1 &lt;br /&gt;
End If &lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;' there should only be one volume found &lt;br /&gt;
For Each objFoundVolume in colTargetVolumes &lt;br /&gt;
    set objVolume = objFoundVolume &lt;br /&gt;
Next &lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;' -------------------------------------------------------------------------------- &lt;br /&gt;
' Now return what we found. &lt;br /&gt;
' -------------------------------------------------------------------------------- &lt;br /&gt;
On Error Resume Next 'handle unitialized array &lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;If IsNull(aKeyProtectorIDs(0)) Then &lt;br /&gt;
    WScript.Echo "This volume is NOT TPM and PIN protected." &lt;br /&gt;
Else &lt;br /&gt;
    WScript.Echo "This volume IS TPM and PIN protected." &lt;br /&gt;
End If&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;From the time I decided to write the script, to the time I wrote it and tested it was about 15 to 20 minutes; the samples were great, the MSDN documentation was pretty decent too; all this without ever doing anything with Bitlocker before, WMI is great stuff.&lt;/p&gt;
&lt;p&gt;I may never use this but if nothing else it was quick and fun to throw together, maybe it will help you.&lt;/p&gt;&lt;img src="http://unmitigatedrisk.com/aggbug/208.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Ryan M. Hurst</dc:creator>
            <guid>http://unmitigatedrisk.com/archive/2008/11/12/208.aspx</guid>
            <pubDate>Wed, 12 Nov 2008 10:47:57 GMT</pubDate>
            <wfw:comment>http://unmitigatedrisk.com/comments/208.aspx</wfw:comment>
            <comments>http://unmitigatedrisk.com/archive/2008/11/12/208.aspx#feedback</comments>
            <slash:comments>3</slash:comments>
            <wfw:commentRss>http://unmitigatedrisk.com/comments/commentRss/208.aspx</wfw:commentRss>
            <trackback:ping>http://unmitigatedrisk.com/services/trackbacks/208.aspx</trackback:ping>
        </item>
        <item>
            <title>How to do away with the Delete/Resume/Restart Page...</title>
            <link>http://unmitigatedrisk.com/archive/2008/07/06/205.aspx</link>
            <description>&lt;p spellchecked="true"&gt;I don't know about you but I just hate the Delete/Resume/Start page in Media Center; I would prefer that when the video is done that it just take you back to the page that invoked the play operation in the first place.&lt;/p&gt;
&lt;p spellchecked="true"&gt;This isn't so hard to do, all you need to do is wait for &lt;font class="misspellet" face="fmisspellt" spellchecked="true"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb189375.aspx"&gt;MediaTransport.PropertyChanged&lt;/a&gt;&lt;/font&gt; to file and when &lt;font class="misspellet" face="fmisspellt" spellchecked="true"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms816500.aspx "&gt;PlayState&lt;/a&gt;&lt;/font&gt; goes into the "Stopped" &lt;a href="http://msdn.microsoft.com/en-us/library/aa468446.aspx"&gt;state&lt;/a&gt; navigate back to whatever page you feel is appropriate.&lt;/p&gt;
&lt;p spellchecked="true"&gt;A generic way to get this page out of Media Center would be to call &lt;font class="misspellet" face="fmisspellt" spellchecked="true"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb189151.aspx"&gt;HistoryOrientedPageSession.BackPage&lt;/a&gt;&lt;/font&gt; every time the playback goes from Playing to Stopped.&lt;/p&gt;
&lt;p&gt;While I have not tried this myself, this &lt;font class="" face="fmisspellt" spellchecked="true"&gt;appears&lt;/font&gt; fairly straight forward and is probably safe to do at any time (given the nature of this state transition).&lt;/p&gt;&lt;img src="http://unmitigatedrisk.com/aggbug/205.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Ryan M. Hurst</dc:creator>
            <guid>http://unmitigatedrisk.com/archive/2008/07/06/205.aspx</guid>
            <pubDate>Mon, 07 Jul 2008 00:57:13 GMT</pubDate>
            <wfw:comment>http://unmitigatedrisk.com/comments/205.aspx</wfw:comment>
            <comments>http://unmitigatedrisk.com/archive/2008/07/06/205.aspx#feedback</comments>
            <wfw:commentRss>http://unmitigatedrisk.com/comments/commentRss/205.aspx</wfw:commentRss>
            <trackback:ping>http://unmitigatedrisk.com/services/trackbacks/205.aspx</trackback:ping>
        </item>
        <item>
            <title>How to determine what content a MCE Extender supports...</title>
            <link>http://unmitigatedrisk.com/archive/2008/07/06/204.aspx</link>
            <description>&lt;p spellchecked="true"&gt;So your a Media Center add-in and &lt;font class="" face="fmisspellt" spellchecked="true"&gt;you want to determine if a file is a supported format for the playback device that is being used at any given time, here is what you do:&lt;/font&gt;&lt;/p&gt;
&lt;p spellchecked="true"&gt;First things first you should detect if your on a Extender or not you should make sure the &lt;font class="misspellet" face="fmisspellt" spellchecked="true"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/aa468315.aspx"&gt;Capabilities.IsConsole&lt;/a&gt;&lt;/font&gt; is false.&lt;/p&gt;
&lt;p spellchecked="true"&gt;At this point you know your on a extender, the next thing need to do is check to see that the file you are about to play is supported by the the Extender, to do that you can use &lt;font class="misspellet" face="fmisspellt" spellchecked="true"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/aa468340.aspx"&gt;DeviceInfo.ProtocolInfo&lt;/a&gt;&lt;/font&gt; (), this will either return null which means you can assume a base set of capabilities (documented on &lt;a href="http://msdn.microsoft.com/en-us/library/aa468340.aspx"&gt;here&lt;/a&gt;) or return a string which can be parsed to find out what "Content Types" the Extender supports.&lt;/p&gt;
&lt;p spellchecked="true"&gt;What is a "Content Type" you ask? its a string that gives you a basic idea of what sort of content your looking at (obvious eh?) for a mpeg file it will be "video/mpeg".&lt;/p&gt;
&lt;p spellchecked="true"&gt;You can determine the "Content Type" for a given file extension by looking in the registry under "&lt;font class="misspellet" face="fmisspellt" spellchecked="true"&gt;HKEY_CLASSES_ROOT&lt;/font&gt;\.{&lt;font class="misspellet" face="fmisspellt" spellchecked="true"&gt;FileExtension&lt;/font&gt;}" where {&lt;font class="misspellet" face="fmisspellt" spellchecked="true"&gt;FileExtension&lt;/font&gt;} is the extension of the file in question, the value of "Content Type" will have what you need.&lt;/p&gt;
&lt;p spellchecked="true"&gt;Another &lt;font class="" face="fmisspellt" spellchecked="true"&gt;useful thing to know is the "&lt;font class="misspellet" face="fmisspellt" spellchecked="true"&gt;PercievedType&lt;/font&gt;" for a given file, its very similar to "Content Type" in purpose but the king thing to understand is that the Videos Library in &lt;font class="misspellet" face="fmisspellt" spellchecked="true"&gt;MCE&lt;/font&gt; uses this to determine if a given file is a "Video" or not, as such if you were to build a Video library of sorts what you would likely want to do is:&lt;/font&gt;&lt;/p&gt;
&lt;ol spellchecked="true"&gt;
    &lt;li spellchecked="true"&gt;
    &lt;div spellchecked="true"&gt;Find all content that has a &lt;font class="misspellet" face="fmisspellt" spellchecked="true"&gt;PercievedType&lt;/font&gt; of Video&lt;/div&gt;
    &lt;/li&gt;
    &lt;li spellchecked="true"&gt;
    &lt;div spellchecked="true"&gt;Identity which of those files are supported &lt;font class="" face="fmisspellt" spellchecked="true"&gt;by the device being used at the time by checking the &lt;font class="misspellet" face="fmisspellt" spellchecked="true"&gt;ProtocolInfo&lt;/font&gt; method.&lt;/font&gt;&lt;/div&gt;
    &lt;/li&gt;
    &lt;li spellchecked="true"&gt;
    &lt;div spellchecked="true"&gt;Either filter out or disable content that is not supported by the current playback device.&lt;/div&gt;
    &lt;/li&gt;
&lt;/ol&gt;
&lt;p spellchecked="true"&gt;As I said this approach &lt;font class="" face="fmisspellt" spellchecked="true"&gt;isn't&lt;/font&gt; &lt;font class="" face="fmisspellt" spellchecked="true"&gt;perfect&lt;/font&gt;, it has a couple short &lt;font class="" face="fmisspellt" spellchecked="true"&gt;comings&lt;/font&gt;:&lt;/p&gt;
&lt;ol spellchecked="true"&gt;
    &lt;li spellchecked="true"&gt;
    &lt;div spellchecked="true"&gt;You are not &lt;font class="" face="fmisspellt" spellchecked="true"&gt;guaranteed&lt;/font&gt; that a device will return you a &lt;font class="misspellet" face="fmisspellt" spellchecked="true"&gt;ProtocolInfo&lt;/font&gt; string so you have to special case that with the default content types called out in the &lt;font class="misspellet" face="fmisspellt" spellchecked="true"&gt;ProtocolInfo&lt;/font&gt; documentation.&lt;/div&gt;
    &lt;/li&gt;
    &lt;li spellchecked="true"&gt;
    &lt;div spellchecked="true"&gt;Content Type, while &lt;font class="" face="fmisspellt" spellchecked="true"&gt;useful &lt;font class="" face="fmisspellt" spellchecked="true"&gt;isn't&lt;/font&gt; enough to tell you for sure the content will play, for example bit rate and other encoding options can make content not playable.&lt;/font&gt;&lt;/div&gt;
    &lt;/li&gt;
&lt;/ol&gt;
&lt;p spellchecked="true"&gt;With that being said this is a fairly reliably means for you to filter out the &lt;font class="misspellet" face="fmisspellt" spellchecked="true"&gt;cruft&lt;/font&gt; that will cause users of your add-ins problems, and you should consider implementing it if you create a library view in your application.&lt;/p&gt;&lt;img src="http://unmitigatedrisk.com/aggbug/204.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Ryan M. Hurst</dc:creator>
            <guid>http://unmitigatedrisk.com/archive/2008/07/06/204.aspx</guid>
            <pubDate>Sun, 06 Jul 2008 22:12:20 GMT</pubDate>
            <wfw:comment>http://unmitigatedrisk.com/comments/204.aspx</wfw:comment>
            <comments>http://unmitigatedrisk.com/archive/2008/07/06/204.aspx#feedback</comments>
            <wfw:commentRss>http://unmitigatedrisk.com/comments/commentRss/204.aspx</wfw:commentRss>
            <trackback:ping>http://unmitigatedrisk.com/services/trackbacks/204.aspx</trackback:ping>
        </item>
        <item>
            <title>Automate the mundane for sanity sake (part 4) </title>
            <link>http://unmitigatedrisk.com/archive/2008/06/22/197.aspx</link>
            <description>&lt;p&gt;&lt;span style="FONT-SIZE: 9pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;A recent change in My Movies results in users having to have the rips be conformant with the DVD standards, specifically it now requires that the VOB, IFO, and BUP files are in a VIDEO_TS folder.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE: 9pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;I threw together a very basic script that can take folders that are in the form of sourcedir\moviename\dvdfiles to sourcedir\moviename\video_ts\dvdfiles.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE: 9pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;As always use this script at your own risk, I have only done limited testing, but it worked on the two folders I tried &lt;img alt="" src="/Providers/BlogEntryEditor/FCKeditor/editor/images/smiley/msn/tounge_smile.gif" /&gt;&lt;span style="mso-no-proof: yes"&gt;&lt;v:shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"&gt;&lt;v:stroke joinstyle="miter"&gt;&lt;/v:stroke&gt;&lt;v:formulas&gt;&lt;v:f eqn="if lineDrawn pixelLineWidth 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @0 1 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum 0 0 @1"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @2 1 2"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @3 21600 pixelWidth"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @3 21600 pixelHeight"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @0 0 1"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @6 1 2"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @7 21600 pixelWidth"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @8 21600 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @7 21600 pixelHeight"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @10 21600 0"&gt;&lt;/v:f&gt;&lt;/v:formulas&gt;&lt;v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"&gt;&lt;/v:path&gt;&lt;o:lock v:ext="edit" aspectratio="t"&gt;&lt;/o:lock&gt;&lt;/v:shapetype&gt;&lt;v:shape id="Picture_x0020_1" style="VISIBILITY: visible; WIDTH: 14.25pt; HEIGHT: 14.25pt; mso-wrap-style: square" o:spid="_x0000_i1025" type="#_x0000_t75" alt="http://unmitigatedrisk.com/Providers/BlogEntryEditor/FCKeditor/editor/images/smiley/msn/tounge_smile.gif"&gt;&lt;v:imagedata src="file:///C:\Users\rmh\AppData\Local\Temp\msohtmlclip1\01\clip_image001.gif" o:title="tounge_smile"&gt;&lt;/v:imagedata&gt;&lt;/v:shape&gt;&lt;/span&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE: 9pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;To use this copy the following script to foo.vbs, put it in the root of your movies folder, open a command prompt in that directory and type "cscript foo.vbs" and you should be good to go.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE: 9pt; FONT-FAMILY: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;I recommend trying it on a small folder set before you run it on your whole collection to make sure you would be happy with the results.&lt;/span&gt;&lt;/p&gt;
&lt;blockquote dir="ltr" style="MARGIN-RIGHT: 0px"&gt;
&lt;p&gt;&lt;font face="Arial"&gt;Dim FileSystem, szMovieFolder&lt;br /&gt;
szMovieFolder = "C:\test"&lt;br /&gt;
Set FileSystem = CreateObject("Scripting.FileSystemObject")&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;Dim Folder, File, Files, oMovieFolder, szFolderName, iEndOfShortFileName, szDestPath&lt;br /&gt;
Set oMovieFolder = FileSystem.GetFolder(szMovieFolder)&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;Set Folders = oMovieFolder.SubFolders&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;For Each Folder in Folders&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt; szFolderName = szMovieFolder  &amp;amp; "\" &amp;amp; Folder.Name  &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt; If (FileSystem.FileExists(szFolderName &amp;amp; "\" &amp;amp; "VIDEO_TS.ifo")) = True Then&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;  ' Looks like we have a movie name folder that directly contains a VIDEO_TS.IFO&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;  szDestPath = szFolderName &amp;amp; "\" &amp;amp; "VIDEO_TS"&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;  If (FileSystem.FolderExists(szDestPath)) = False Then&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;   ' Looks like it also does not yet have a VIDEO_TS folder&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;   FileSystem.CreateFolder(szDestPath)&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;   ' Now it does!&lt;/font&gt;&lt;/p&gt;
&lt;font face="Arial"&gt;
&lt;p&gt;&lt;br /&gt;
   Set Files = Folder.Files&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
   For Each File In Files&lt;br /&gt;
    bMove = False&lt;/p&gt;
&lt;p&gt;    ' If its a VOB, BUP, or IFO move it.&lt;br /&gt;
    If InStr(1, LCase(File.Name), ".vob") &amp;lt;&amp;gt; 0 Then bMove = True&lt;br /&gt;
    If InStr(1, LCase(File.Name), ".ifo") &amp;lt;&amp;gt; 0 Then bMove = True&lt;br /&gt;
    If InStr(1, LCase(File.Name), ".bup") &amp;lt;&amp;gt; 0 Then bMove = True&lt;/p&gt;
&lt;p&gt;    if bMove = True then&lt;br /&gt;
     ' ok lets move file&lt;br /&gt;
     wscript.echo "Moving '" &amp;amp; File.Name &amp;amp; "' to '" &amp;amp; szDestPath &amp;amp; "'"&lt;br /&gt;
     File.Move(szDestPath &amp;amp; "\" &amp;amp; File.Name)&lt;/p&gt;
&lt;p&gt;    end if&lt;br /&gt;
   Next &lt;/p&gt;
&lt;p&gt;  End If&lt;br /&gt;
 End If&lt;br /&gt;
Next&lt;/p&gt;
&lt;/font&gt;&lt;/blockquote&gt;
&lt;p dir="ltr"&gt;Good luck.&lt;/p&gt;&lt;img src="http://unmitigatedrisk.com/aggbug/197.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Ryan M. Hurst</dc:creator>
            <guid>http://unmitigatedrisk.com/archive/2008/06/22/197.aspx</guid>
            <pubDate>Sun, 22 Jun 2008 23:23:26 GMT</pubDate>
            <wfw:comment>http://unmitigatedrisk.com/comments/197.aspx</wfw:comment>
            <comments>http://unmitigatedrisk.com/archive/2008/06/22/197.aspx#feedback</comments>
            <wfw:commentRss>http://unmitigatedrisk.com/comments/commentRss/197.aspx</wfw:commentRss>
            <trackback:ping>http://unmitigatedrisk.com/services/trackbacks/197.aspx</trackback:ping>
        </item>
        <item>
            <title>OK, I admit it, I am twisted...</title>
            <link>http://unmitigatedrisk.com/archive/2008/03/22/184.aspx</link>
            <description>&lt;p&gt;&lt;font face="Arial"&gt;I was catching up on reading blogs and such and ran across this post from Bruce Schneier over at Wired titled "&lt;a href="http://www.wired.com/politics/security/commentary/securitymatters/2008/03/securitymatters_0320"&gt;Inside the Twisted Mind of the Security Professional&lt;/a&gt;".&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;The premise of this so aptly titled post is that security professional's just think differently, and that this difference is a trait that might just be innate in certain individuals; I have to agree.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;I got into electronics (including computers) as a child as a means to figure out how they worked, it started by taking them apart and putting them back together; though in many cases I ended up with extra parts most of the time they went back together just fine &lt;img alt="" src="/Providers/BlogEntryEditor/FCKeditor/editor/images/smiley/msn/tounge_smile.gif" /&gt;.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;I quickly learned that this was mostly a mechanical exercise, and that no amount of assembly and re-assembly would really tech me how these things worked; so I started looking at the software.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;The interest in software was really again trying to understand how these magnificent boxes worked, I recall looking at the files that made up programs trying to understand their role and ultimately realizing for me to really understand how things worked I had to be able to re-produce approximations of them and so I taught my-self to program (Basic, Pascal, C, and c64 and x86 assembly).&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;Once I mastered the basics I came back to looking at these programs, trying to understand them and utilizing the basic understanding of computer architecture and programming I had amassed, from there I started trying to see how I could bypass the copy protections on games; it's really this that got me into computer security.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;Here there was this commercial software developed by a mass of professionals designed to prevent me, a punk kid from doing something and I was able to by-pass it; I recall how proud I was of myself at first but this quickly lapsed as I realized problems like this were impassable, I was 10.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;My friend Josh and I started fumbling around on bulletin boards across the nation, It remember going into a chat room with Josh and some guy offered us a step-by-step guide of sorts to log in and control phone switches as a means to make free international calls; he had written this guide based on a manual he stolen out of the back of a telephone operators truck, the inside cover of the manual included the default password for this switch.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;I remember this guy telling us how he went about it, and how amazed he was when he found that most of the switches out there were based on this same system and no one changed the default password; this guy was not much older than us, maybe 15 or 16 but again clearly pleased with how he was able to figure this all out.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;For me this was the beginning of understanding social and computer networking, and the beginning of me seeing myself as a "hacker".&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;As a "hacker", I prided my myself in my common sense and the lack of common sense in others; every where I went I was looking for flaws, things that other people missed.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;I remember when we moved to our new house, my mom called the power and phone companies to have our service transferred, I listened to her side of the phone call and she never had to give them any private information; I was amazed. Several months later some kid picked on me at school so I called the phone and power company to have their service disconnected, it worked.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;This view on life has continued to this day, I have of course grown up and no longer use my insights for evil (at least intentionally) but I thank my lucky stars I see the world the way I do.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;As for this view of life being innate in some, as I said. I believe it is; however I also believe it can be learned though I don't know if it can be taught. As a "hacker" when I watch movies I look for the mistakes, the things that were of such a small detail that they were missed by the production staff, when I got married I started to share these findings with my wife who was always surprised I noticed such things.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;However at one point in our marriage she started finding these flaws before I did and when we discuss strategy on issues she also now finds angles I may have missed; she tells me that this is something she has learned from me, all I can say is I certainly didn't mean to teach it as now she can use it against me &lt;img alt="" src="/Providers/BlogEntryEditor/FCKeditor/editor/images/smiley/msn/regular_smile.gif" /&gt;&lt;/font&gt;&lt;/p&gt;&lt;img src="http://unmitigatedrisk.com/aggbug/184.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Ryan M. Hurst</dc:creator>
            <guid>http://unmitigatedrisk.com/archive/2008/03/22/184.aspx</guid>
            <pubDate>Sun, 23 Mar 2008 01:22:27 GMT</pubDate>
            <wfw:comment>http://unmitigatedrisk.com/comments/184.aspx</wfw:comment>
            <comments>http://unmitigatedrisk.com/archive/2008/03/22/184.aspx#feedback</comments>
            <wfw:commentRss>http://unmitigatedrisk.com/comments/commentRss/184.aspx</wfw:commentRss>
            <trackback:ping>http://unmitigatedrisk.com/services/trackbacks/184.aspx</trackback:ping>
        </item>
        <item>
            <title>RFC 5216 is published!</title>
            <link>http://unmitigatedrisk.com/archive/2008/03/22/183.aspx</link>
            <description>&lt;p&gt;&lt;font face="Arial"&gt;Previously I &lt;a href="http://www.unmitigatedrisk.com/archive/2007/06/28/87.aspx"&gt;mentioned&lt;/a&gt; I was working on an update to &lt;a href="http://www.ietf.org/rfc/rfc2716.txt"&gt;RFC 2716&lt;/a&gt; that process is now complete, the RFC number for this new work is &lt;a href="http://tools.ietf.org/rfc/rfc5216.txt"&gt;5216&lt;/a&gt;.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;This update was really about adding clarifying text address common implementation issues, better aligning the specification with its dependent RFCs (like &lt;a href="http://tools.ietf.org/rfc/rfc4346.txt"&gt;RFC 4346&lt;/a&gt;, &lt;a href="http://tools.ietf.org/rfc/rfc3280.txt"&gt;RFC 3280&lt;/a&gt;, etc), updating to specification to represent actual implementation practices to aid in interoperability and of course improving security guidance for implementers.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;To be clear, no new capabilities were added to this RFC; despite that the document increased 35.9934% in size (from 50.2 KB  to 71.7 KB); larger doesn't always mean better but in this case I think it does.&lt;/font&gt;&lt;/p&gt;&lt;img src="http://unmitigatedrisk.com/aggbug/183.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Ryan M. Hurst</dc:creator>
            <guid>http://unmitigatedrisk.com/archive/2008/03/22/183.aspx</guid>
            <pubDate>Sat, 22 Mar 2008 19:33:05 GMT</pubDate>
            <wfw:comment>http://unmitigatedrisk.com/comments/183.aspx</wfw:comment>
            <comments>http://unmitigatedrisk.com/archive/2008/03/22/183.aspx#feedback</comments>
            <wfw:commentRss>http://unmitigatedrisk.com/comments/commentRss/183.aspx</wfw:commentRss>
            <trackback:ping>http://unmitigatedrisk.com/services/trackbacks/183.aspx</trackback:ping>
        </item>
        <item>
            <title>My Netflix is dead, long live My Netflix.</title>
            <link>http://unmitigatedrisk.com/archive/2008/02/10/174.aspx</link>
            <description>&lt;p&gt;Back in 2004 ended up getting a cold or flu of some sort that kept me from going into work for a day or so and I used that time to throw together a Media Center add-in called My Netflix; I have done a few minor updates over the years (&lt;a href="http://unmitigatedrisk.com/archive/2007/08/25/119.aspx"&gt;http://unmitigatedrisk.com/archive/2007/08/25/119.aspx&lt;/a&gt;) but my work has become increasingly demanding and finding  the time to give the project the TLC it deserves has been difficult at best.&lt;/p&gt;
&lt;p&gt;As a result I am now officially announcing the death of My Netflix, I will no longer fix anything no mater how minor; if you have issues I released it under the MSFT permissive license and the source is still available (&lt;a href="http://www.unmitigatedrisk.com/mce/mynetflixsource.zip"&gt;http://www.unmitigatedrisk.com/mce/mynetflixsource.zip&lt;/a&gt;) so you can go to town if you like.&lt;/p&gt;
&lt;p&gt;With that being said, My Netflix has also been re-born (&lt;a href="http://www.anpark.com/index.php/2008/02/10/new-vista-media-center-plugin-mynetflix-beta/"&gt;http://www.anpark.com/index.php/2008/02/10/new-vista-media-center-plugin-mynetflix-beta/&lt;/a&gt;); a kind soul (Anthony Park) has done a bunch of what I wanted to see done and re-wrote the add-in as a MCML application giving it experience more consistent with MCE plus he added support for Watch It now.&lt;/p&gt;
&lt;p&gt;I have not been a Netflix subscriber for some time (they started rate limiting me, I think this is a dishonest practice) so I switched to Blockbuster (which has its own issues but that's another post) but from the screen shots Anthony has done a great job; in fact I think I will sign up for Netflix on one of the trials and play with it.&lt;/p&gt;
&lt;p&gt;I can't say how excited I am to see this happen :)&lt;/p&gt;
&lt;p&gt;Thanks Anthony!&lt;/p&gt;&lt;img src="http://unmitigatedrisk.com/aggbug/174.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Ryan M. Hurst</dc:creator>
            <guid>http://unmitigatedrisk.com/archive/2008/02/10/174.aspx</guid>
            <pubDate>Sun, 10 Feb 2008 22:50:24 GMT</pubDate>
            <wfw:comment>http://unmitigatedrisk.com/comments/174.aspx</wfw:comment>
            <comments>http://unmitigatedrisk.com/archive/2008/02/10/174.aspx#feedback</comments>
            <slash:comments>4</slash:comments>
            <wfw:commentRss>http://unmitigatedrisk.com/comments/commentRss/174.aspx</wfw:commentRss>
            <trackback:ping>http://unmitigatedrisk.com/services/trackbacks/174.aspx</trackback:ping>
        </item>
        <item>
            <title>Thank goodness, finally a security silver bullet...</title>
            <link>http://unmitigatedrisk.com/archive/2008/01/10/169.aspx</link>
            <description>&lt;p spellchecked="true"&gt;Mike Howard just did a &lt;a spellchecked="true" href="http://blogs.msdn.com/michael_howard/archive/2008/01/10/open-source-projects-certified-as-secure-huh.aspx"&gt;&lt;u spellchecked="true"&gt;&lt;font color="#800080" spellchecked="true"&gt;post&lt;/font&gt;&lt;/u&gt;&lt;/a&gt; about a company offering a certificication that "prooves" your secure.&lt;/p&gt;
&lt;p&gt;Why didn't I think of that? Hehe...&lt;/p&gt;&lt;img src="http://unmitigatedrisk.com/aggbug/169.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Ryan M. Hurst</dc:creator>
            <guid>http://unmitigatedrisk.com/archive/2008/01/10/169.aspx</guid>
            <pubDate>Fri, 11 Jan 2008 03:04:18 GMT</pubDate>
            <wfw:comment>http://unmitigatedrisk.com/comments/169.aspx</wfw:comment>
            <comments>http://unmitigatedrisk.com/archive/2008/01/10/169.aspx#feedback</comments>
            <wfw:commentRss>http://unmitigatedrisk.com/comments/commentRss/169.aspx</wfw:commentRss>
            <trackback:ping>http://unmitigatedrisk.com/services/trackbacks/169.aspx</trackback:ping>
        </item>
    </channel>
</rss>