<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Onlydarksets &#187; DTb HowTo</title>
	<atom:link href="http://onlydarksets.com/tag/dtb-howto/feed/" rel="self" type="application/rss+xml" />
	<link>http://onlydarksets.com</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Thu, 14 Oct 2010 01:04:28 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Converting SageTV recordings to Zune/iPod/iPhone, version 2.0</title>
		<link>http://onlydarksets.com/2009/01/02/converting-sagetv-recordings-to-zuneipodiphone-version-20/</link>
		<comments>http://onlydarksets.com/2009/01/02/converting-sagetv-recordings-to-zuneipodiphone-version-20/#comments</comments>
		<pubDate>Fri, 02 Jan 2009 19:18:54 +0000</pubDate>
		<dc:creator>onlydarksets</dc:creator>
				<category><![CDATA[DVRMSToolbox]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Music/Video Players]]></category>
		<category><![CDATA[SageTV]]></category>
		<category><![CDATA[Windows Mobile]]></category>
		<category><![CDATA[babgvant]]></category>
		<category><![CDATA[DTb HowTo]]></category>

		<guid isPermaLink="false">http://onlydarksets.wordpress.com/?p=644</guid>
		<description><![CDATA[I posted a method for converting SageTV files to iPod/iPhone compliant files a while back, but a number of the files weren&#8217;t converting properly.  I also had problems with mencoder cutting commercials out of the files.  So, I retooled the approach, and I am now getting 100% success, using the approach outlined below. NOTE: Several [...]]]></description>
			<content:encoded><![CDATA[<p>I posted <a href="http://onlydarksets.com/2008/09/19/convert-sage-recordings-to-iphone/">a method for converting SageTV files to iPod/iPhone compliant files</a> a while back, but a number of the files weren&#8217;t converting properly.  I also had problems with mencoder cutting commercials out of the files.  So, I retooled the approach, and I am now getting 100% success, using the approach outlined below.</p>
<p><span style="text-decoration: underline;"><strong>NOTE</strong></span>: Several of the non-alphanumeric characters do not copy and paste correctly.  If you have any problems (especially with the RunExternal actions), check that the quotes and dashes are correct.  Thanks to Steve for pointing that out in the comments.</p>
<p><span id="more-644"></span></p>
<p><strong><span style="text-decoration: underline;">Tools Used</span></strong></p>
<ul>
<li><a href="http://www.sagetv.com/" target="_blank">SageTV</a>: records TV shows</li>
<li><a href="http://www.babgvant.com/" target="_blank">DVRMSToolbox</a>: monitors recording folder and orchestrates conversion<a href="http://www.mplayerhq.hu/" target="_blank"></a>
<ul>
<li><a href="http://tools.assembla.com/sageplugins/wiki/WebServer" target="_blank">SageTV Web Interface</a>: provides metadata to DVRMSToolbox</li>
<li><a href="http://www.kaashoek.com/comskip/" target="_blank">ComSkip</a> or <a href="http://www.dragonglobal.biz/showanalyzer.html" target="_blank">ShowAnalyzer</a>: finds commercials in TV show files for DTb</li>
</ul>
</li>
<li><a href="http://www.mplayerhq.hu/" target="_blank">mencoder</a> (<em>bundled with mplayer</em>): removes commercials</li>
<li><a href="http://www.handbrake.fr/" target="_blank">Handbrake</a>: converts to h.264/aac in mp4 container</li>
<li><a href="http://atomicparsley.sourceforge.net/" target="_blank">AtomicParsley</a>: writes metadata to mp4</li>
<li><a href="http://www.donationcoder.com/Software/Skrommel/index.html#MoveOut" target="_blank">MoveOut</a>: puts converted files in the &#8220;right&#8221; place</li>
</ul>
<p><strong><span style="text-decoration: underline;">My Files</span></strong></p>
<ul>
<li><a href="http://82kxpa.blu.livefilestore.com/y1pJD8mEQQfG4iLyVVOqD3bH89iue009CKfcbVEsdwdqr19OCpEH6NS70sCTbp97YTEyapUD-bEhmc/ConvertHDusingHandbrakeComSkip.zip?download" target="_blank">&#8220;Convert to Zune/iPod/iPhone&#8221; Profile</a></li>
<li><a href="http://82kxpa.blu.livefilestore.com/y1pMsaYuwkhyqnqGmETLXmuUjlPWZigTWNnNK7GDMLiU28IiPOFDR07ctxD3oHioAWvEJgDzMh5yG2SbXroxfdxww/addToItunes.zip?download" target="_blank">&#8220;Add to iTunes&#8221; Javascript</a> (NOTE: I have tested this as a standalone script, but it is not incorporated into the workflow below)</li>
</ul>
<p><strong><span style="text-decoration: underline;">Step 1: Installation and SageTV</span></strong></p>
<p>Obviously, you need to have all of the above tools installed and SageTV configured and running and recording shows.  DVRMSToolbox (DTb) should be running and monitoring the SageTV recorded TV folder(s).</p>
<p><strong><span style="text-decoration: underline;">Step 2: Setup the DTb Profile</span></strong></p>
<p>The problem I experienced with mencoder was due to the stdout mucking up DTb.  Turns out DTb has a RunExternalNoStatus action that ignores the output, thus obviating the problem.  Using this action for AtomicParsley sped up that app&#8217;s processing by tenfold (due to the huge amount of output of AP).  So, as a general rule, if you have having trouble getting an external app to run well (or at all) in DTb, try RunExternalNoStatus.</p>
<p>Now, for the meat of the process.  DTb orchestrates the various external applications.  The logical flow is:</p>
<ol>
<li>Scan the TV show file for commercials.</li>
<li>Use mencoder to create a new TV show file without the commercials.</li>
<li>Use Handbrake to convert the file from MPEG to MP4 (h.264/AAC).</li>
<li>Use AtomicParsley to write metadata to the MP4 file (e.g., show, episode, air date, etc.).</li>
<li>Use DTb to rename the show to a friendly format (e.g., &#8220;Fringe &#8211; 2008-12-03 &#8211; Safe.mp4&#8243;).</li>
<li>Use MoveOut to move the shows to the correct folders (if necessary).</li>
</ol>
<p>As implemented, here are the Actions and parameters:</p>
<ol>
<li><strong>FWThrottle</strong>: <em>limit the number of files that are processed simultaneously</em>
<ol>
<li>UseDefaultSettings: &lt;checked&gt;</li>
<li>ContextFile: InputFile</li>
<li>Throttle: Checked</li>
<li>ContinueOnFail: &lt;unchecked&gt;</li>
</ol>
</li>
<li><strong>CreateTimeout</strong>: <em>sets a timeout &#8211; trust me, the first time mencoder hangs on &#8220;Dora the Explorer&#8221; and you don’t have “Lost” waiting for you in the morning like you were expecting, you’ll be glad.</em>
<ol>
<li>Timeout Minutes: 240</li>
<li>ContinueOnFail: &lt;unchecked&gt;</li>
</ol>
</li>
<li><strong>ChangeContextValue</strong>: <em>create a new context to store the location of the commercial file created by ComSkip/SA</em>
<ol>
<li>SourceContext: InputFile</li>
<li>TargetContext: SageEDLFile</li>
<li>CreateNewContext: &lt;checked&gt;</li>
<li>NewContextName: SageEDLFile</li>
<li>FindRegex: ^((.*\\)(.*)\.(.*))\z</li>
<li>ReplaceRegex: $2$3.edl</li>
<li>ContinueOnFail: &lt;checked&gt; (<em>it&#8217;s OK to keep going if we fail for some reason &#8211; we just won&#8217;t get commercials cut out</em>)</li>
</ol>
</li>
<li><strong>ChangeContextValue</strong>: <em>update OutputFile context to allow for MP4 extension</em>
<ol>
<li>SourceContext: OutputFile</li>
<li>TargetContext: OutputFile</li>
<li>CreateNewContext: &lt;unchecked&gt;</li>
<li>FindRegex: ^((.*\\)(.*)\.(.*))\z</li>
<li>ReplaceRegex: $2$3.mp4</li>
<li>ContinueOnFail: &lt;unchecked&gt;</li>
</ol>
</li>
<li><strong>ChangeContextValue</strong>: <em>create a new context to specify location of the resulting commercial-free MPEG file</em>
<ol>
<li>SourceContext: OutputFile</li>
<li>TargetContext: CutMpegFile</li>
<li>CreateNewContext: &lt;checked&gt;</li>
<li>NewContextName: CutMpegFile</li>
<li>FindRegex: ^((.*\\)(.*)\.(.*))\z</li>
<li>ReplaceRegex: $2$3.mpg</li>
<li>ContinueOnFail: &lt;unchecked&gt;</li>
</ol>
</li>
<li><em><span style="font-style:normal;"><strong>FindCommercials</strong>: </span>run ComSkip/SA to find commercials and write to EDL file</em>
<ol>
<li>UseDefaultSettings: &lt;checked&gt;</li>
<li>ContextFile: InputFile</li>
<li>ContinueOnFail: &lt;checked&gt; (<em>again, worst case is we have commercials in the final MP4 file</em>)</li>
</ol>
</li>
<li><strong>RunExternalNoStatus</strong>: <em>run mencoder to cut out commercials</em>
<ol>
<li>ProcessName: &lt;fullpath&gt;\mencoder.exe</li>
<li>ReadError: &lt;unchecked&gt;</li>
<li>ArgumentsContext: “%InputFile%” -edl “%SageEDLFile%” -oac copy -ovc copy -of mpeg -o “%CutMpegFile%.mpg” -mpegopts muxrate=36000 -quiet</li>
<li>ContinueOnFail: &lt;unchecked&gt;</li>
</ol>
</li>
<li><strong>RunExternalNoStatus</strong>: <em>run Handbrake to convert to MP4</em>
<ol>
<li>ProcessName: &lt;fullpath\handbrakeCLI.exe</li>
<li>ReadError: &lt;unchecked&gt;</li>
<li>ArgumentsContext: &lt;experiment with the Handbrake GUI using a sample file to get the settings you want&gt;</li>
<li>ContinueOnFail: &lt;unchecked&gt;</li>
</ol>
</li>
<li><strong>MigrateMetadataToContext</strong>: <em>workaround to get a nicely formatted &#8220;original air date&#8221;</em>
<ol>
<li>Metadata Pattern: %originalAirDate%</li>
<li>TargetContext: OutputFile</li>
<li>CreateNewContext: &lt;checked&gt;</li>
<li>NewContextName: DateAndEpisode</li>
<li>FindRegex: ((\d+-)+\d+)</li>
<li>ReplaceRegex: $1</li>
<li>ContinueOnFail: &lt;unchecked&gt;</li>
</ol>
</li>
<li><strong>RunExternalNoStatus</strong>: run <em>AtomicParsley to add basic metadata to MP4</em>
<ol>
<li>Processname: &lt;fullpath&gt;\AtomicParsley.exe</li>
<li>ReadError: &lt;unchecked&gt;</li>
<li>ArgumentsContext: “%OutputFile%” &#8211;genre “TV Shows”  &#8211;stik “TV Show”  &#8211;TVNetwork %channelName%  &#8211;TVShowName “%Title%”  &#8211;TVEpisode “%episode%”  &#8211;description “%description%”  &#8211;category=”%category%”</li>
<li>ContinueOnFail: &lt;checked&gt; (<em>no need to crash just for the metadata</em>)</li>
</ol>
</li>
<li><strong>AdvancedFileRename</strong>: rename the output file to something meaningful
<ol>
<li>ContextFile: OutputFile</li>
<li>NamePattern: %Title% &#8211; %originalAirDate% &#8211; %episode%</li>
<li>WhenFileExists: AppendGuid</li>
</ol>
</li>
<li><strong>FileOperation</strong>: delete temporary MPEG file
<ol>
<li>ContextFile: CutMpegFile</li>
<li>DestinationPath: &lt;blank&gt;</li>
<li>WhatOperation: Delete</li>
</ol>
</li>
<li><strong>FileOperation</strong>: move MP4 to the output directory
<ol>
<li>ContextFile: OutputFile</li>
<li>DestinationPath: &lt;destination directory&gt;</li>
<li>WhatOperation: Move</li>
</ol>
</li>
</ol>
<p><strong><span style="text-decoration: underline;">Step 3: Move the files</span></strong></p>
<p>I use MoveOut to then put some files in the kids&#8217; directory, some in the wife&#8217;s Zune directory, and some in my directory.  You could do this all with DTb, but I find it easier to use a separate app.</p>
<p><strong><span style="text-decoration: underline;">What&#8217;s Next?</span></strong></p>
<p>Zune users are all set &#8211; the ZMP automatically monitors folders, so the next time you sync your Zune, it will pick up the new MP4 files.  iPod/iPhone users, however, have to manually import the folder prior to each sync.  There are two options for getting around this.  First, you can add an extra &#8220;RunExternal&#8221; action that <a href="http://babgvant.com/files/folders/dvrmstoolbox/entry5857.aspx" target="_blank">runs a Javascript to import the files into iTunes</a> (available in the linked download, courtesy of <a href="http://babgvant.com/forums/p/644/3220.aspx#3220" target="_blank">Coyote</a>).  Second, you can try to get the <a href="http://lifehacker.com/software/itunes/hack-attack-automatically-sync-itunes-to-any-folders-175161.php" target="_blank">iTunes Library Updater</a> to work, although there are mixed results with iTunes 7+.  I don&#8217;t have iTunes installed on my SageTV server, so this isn&#8217;t really an issue for me.</p>
<p><a href="http://forums.sagetv.com/forums/showthread.php?t=38115" target="_blank">jelwood is working on an alternate approach using Quicktime chapters</a> instead of actually cutting out the commercials.  Because not every medium I am watching these on supports Quicktime chapters (including SageTV and the Zune), I am sticking with the mencoder route.  However, this is a better option if storage space is not an issue or you have problems with ComSkip/SA getting the commercials &#8220;not quite right&#8221;.</p>
<p>Also, <a href="http://babgvant.com/forums/p/2100/11560.aspx#11560" target="_blank">jelwood has created a patched version of AtomicParsley</a> that allows you to set the sort order to the original air date.  I include the air date in my titles out of preference, so this is not necessary for me, but incorporating this is trivial.</p>
<p>Anything else?</p>
<p><em><strong>EDIT (2009-03-18)</strong>: DTb 1.2.1.6 added the MigrateMetadataToContext, which makes it easier to format the original air date to a friendlier format.</em></p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fonlydarksets.com%2F2009%2F01%2F02%2Fconverting-sagetv-recordings-to-zuneipodiphone-version-20%2F&amp;title=Converting%20SageTV%20recordings%20to%20Zune%2FiPod%2FiPhone%2C%20version%202.0" id="wpa2a_2">Share/Save</a></p>]]></content:encoded>
			<wfw:commentRss>http://onlydarksets.com/2009/01/02/converting-sagetv-recordings-to-zuneipodiphone-version-20/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>HowTo: ChangeContextValue regular expressions</title>
		<link>http://onlydarksets.com/2008/01/15/profile-changecontextvalue-regular-expressions/</link>
		<comments>http://onlydarksets.com/2008/01/15/profile-changecontextvalue-regular-expressions/#comments</comments>
		<pubDate>Tue, 15 Jan 2008 17:08:34 +0000</pubDate>
		<dc:creator>onlydarksets</dc:creator>
				<category><![CDATA[DVRMSToolbox]]></category>
		<category><![CDATA[DTb HowTo]]></category>

		<guid isPermaLink="false">http://onlydarksets.wordpress.com/2008/01/15/profile-changecontextvalue-regular-expressions/</guid>
		<description><![CDATA[I came up with a regular expression that should allow full access to the path, filename, and extension when using the ChangeContextValue Action. I&#8217;m sure there is a more efficient way to do it, but this works just fine. FindRegex: ^((.*\\)(.*)\.(.*))\z ReplaceRegex: $1 = E:\Recorded TV\subdir\another one\Dirty Sexy Money_WJLA-DT_10_10_2007_22_00_01.dvr-ms $2 = E:\Recorded TV\subdir\another one\ $3 [...]]]></description>
			<content:encoded><![CDATA[<p>I came up with a regular expression that should allow full access to the path, filename, and extension when using the ChangeContextValue Action.  I&#8217;m sure there is a more efficient way to do it, but this works just fine.</p>
<p><b>FindRegex</b>: <font face="Courier New" size="2">^((.*\\)(.*)\.(.*))\z</font></p>
<p><b>ReplaceRegex</b>:</p>
<ul>
<li>$1 = E:\Recorded TV\subdir\another one\Dirty Sexy Money_WJLA-DT_10_10_2007_22_00_01.dvr-ms</li>
<li>$2 = E:\Recorded TV\subdir\another one\</li>
<li>$3 = Dirty Sexy Money_WJLA-DT_10_10_2007_22_00_01</li>
<li>$4 = dvr-ms</li>
</ul>
<p>So, if you want to change the extension, the ReplaceRegex value would be:</p>
<blockquote><p>$2$3.wmv</p></blockquote>
<p>If you want to change the path, the ReplaceRegex would be:</p>
<blockquote><p>C:\New Path\$3.$4</p></blockquote>
<p>I don&#8217;t suggest using this to change the filename (use the AdvancedFileRename Action instead).  However, if you insist, the ReplaceRegex would be:</p>
<blockquote><p>$2$3 (FIXED).$4</p></blockquote>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fonlydarksets.com%2F2008%2F01%2F15%2Fprofile-changecontextvalue-regular-expressions%2F&amp;title=HowTo%3A%20ChangeContextValue%20regular%20expressions" id="wpa2a_4">Share/Save</a></p>]]></content:encoded>
			<wfw:commentRss>http://onlydarksets.com/2008/01/15/profile-changecontextvalue-regular-expressions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HowTo: &#8220;Hello World&#8221; &#8211; Profiles</title>
		<link>http://onlydarksets.com/2007/09/22/dtb-hello-world-profiles/</link>
		<comments>http://onlydarksets.com/2007/09/22/dtb-hello-world-profiles/#comments</comments>
		<pubDate>Sat, 22 Sep 2007 02:17:10 +0000</pubDate>
		<dc:creator>onlydarksets</dc:creator>
				<category><![CDATA[DVRMSToolbox]]></category>
		<category><![CDATA[DTb HowTo]]></category>

		<guid isPermaLink="false">http://onlydarksets.wordpress.com/2007/09/22/dtb-hello-world-profiles/</guid>
		<description><![CDATA[Hello World – Profiles Profiles are the brains behind the DVR-MS processing and conversion performed by DTb. Profiles are stored as individual files in the C:\Program Files\DVRMSToolbox\Profiles directory. This tutorial will walk you through the building and executing a basic Profile that renames the input file. The screenshots are from Windows XP, but apply equally [...]]]></description>
			<content:encoded><![CDATA[<p class="MsoNormal">Hello World – Profiles</p>
<p class="MsoNormal">Profiles are the brains behind the DVR-MS processing and conversion performed by DTb.<span>  </span>Profiles are stored as individual files in the C:\Program Files\DVRMSToolbox\Profiles directory.<span>  </span></p>
<p class="MsoNormal">This tutorial will walk you through the building and executing a basic Profile that renames the input file.<span>  </span>The screenshots are from Windows XP, but apply equally to Windows Media Center 2005 and Windows Vista.</p>
<p class="MsoNormal">First, open DVRMStoMPEGGUI from the Start menu.</p>
<p class="MsoNormal"><a href="http://onlydarksets.files.wordpress.com/2007/09/dtbhw_profiles1.gif"><img src="http://onlydarksets.files.wordpress.com/2007/09/dtbhw_profiles1.gif" /></a></p>
<p class="MsoNormal">Select <b>Tools</b> then <b>Settings</b> from the menu to bring up the <u>DVRMSToolboxSettings</u> window (you can also run this directly from the Start menu).</p>
<p class="MsoNormal"><img src="http://onlydarksets.files.wordpress.com/2007/09/dtbhw_profiles2.gif" /></p>
<p class="MsoNormal">Click the <b>New Profile</b> button to bring up the <u>Profile</u> dialog.</p>
<p class="MsoNormal"><img src="http://onlydarksets.files.wordpress.com/2007/09/dtbhw_profiles3.gif" /></p>
<p class="MsoNormal" style="margin-bottom:0.0001pt;">Enter a short name with no spaces in <b>Name</b> and a longer description (spaces OK) in <b>Description</b>.<span>  </span></p>
<p class="MsoListBulletCxSpFirst"><!--[if !supportLists]--><span style="font-family:Symbol;"><span>·<span style="font-family:'Times New Roman';font-style:normal;font-variant:normal;font-weight:normal;font-size:7pt;line-height:normal;">         </span></span></span><!--[endif]-->The Name field is used to set the filename.<span>  </span>Make sure the value you use here is not already in use in the C:\Program Files\DVRMSToolbox\Profiles directory.<span>  </span>If you use a value that is the same as a file name (minus the “dpc” extension), it will overwrite the existing file.</p>
<p class="MsoListBulletCxSpLast"><!--[if !supportLists]--><span style="font-family:Symbol;"><span>·<span style="font-family:'Times New Roman';font-style:normal;font-variant:normal;font-weight:normal;font-size:7pt;line-height:normal;">         </span></span></span><!--[endif]-->The Description field is displayed in the DVRMSToolboxSettings window.<span>  </span>Duplicates are OK, but it makes it very hard to tell <i>which</i> Profile you are executing.</p>
<p class="MsoNormal">Click the <b>Add</b> button to bring up the <u>NewPlugin</u> (Action selection) window.</p>
<p class="MsoNormal"><img src="http://onlydarksets.files.wordpress.com/2007/09/dtbhw_profiles4.gif" /></p>
<p class="MsoNormal"><span>Select <b>Durrant.Plugins.AdvancedFileRename</b>, and then click the <b>Select</b> button to bring up the <u>Configure</u> dialog.</span></p>
<p class="MsoNormal"><img src="http://onlydarksets.files.wordpress.com/2007/09/dtbhw_profiles5.gif" /></p>
<p class="MsoNormal">Set the <b>ContextFile</b> field to <b>InputFile</b>, and click the <b>OK</b> button.</p>
<p class="MsoNormal">Click the <b>Save</b> button in the <u>Profile</u> dialog.</p>
<p class="MsoNormal">Click the <b>Save</b> button in the <u>DVRMSToolboxSettings</u> window.</p>
<p class="MsoNormal">In the DVRMSToolboxGUI window, double click in the <b>Input File</b> textbox to bring up the <u>File</u> dialog.<span>  </span>Select a DVR-MS file.</p>
<p class="MsoNormal">Enter any valid path and any filename in the <b>Output File</b> textbox (it doesn’t matter for this Profile, because it only modifies the input file).</p>
<p class="MsoNormal">Select your new Profile from the <b>Profile</b> drop-down listbox.</p>
<p class="MsoNormal"><img src="http://onlydarksets.files.wordpress.com/2007/09/dtbhw_profiles6.gif" /></p>
<p class="MsoNormal">Click the <b>Run</b> button.<span>  </span>The output will be displayed in the window, and, when the Profile is done executing, a confirmation dialog will display asking if you want to save the output to a log file.</p>
<p class="MsoNormal">Now, when you check the filename of the InputFile, you will see the Title – Episode – Air Date, instead of the default Windows Media Center filename.</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fonlydarksets.com%2F2007%2F09%2F22%2Fdtb-hello-world-profiles%2F&amp;title=HowTo%3A%20%26%238220%3BHello%20World%26%238221%3B%20%26%238211%3B%20Profiles" id="wpa2a_6">Share/Save</a></p>]]></content:encoded>
			<wfw:commentRss>http://onlydarksets.com/2007/09/22/dtb-hello-world-profiles/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

