<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.2.1" -->
<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/"
	>

<channel>
	<title>Pilgrim's Progress</title>
	<link>http://smeans.com</link>
	<description>Long is the way and hard that out of Hell leads up to Light.</description>
	<pubDate>Thu, 08 May 2008 16:54:14 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.2.1</generator>
	<language>en</language>
			<item>
		<title>iPhone ringtone relief.</title>
		<link>http://smeans.com/2008/05/08/iphone-ringtone-relief/</link>
		<comments>http://smeans.com/2008/05/08/iphone-ringtone-relief/#comments</comments>
		<pubDate>Thu, 08 May 2008 16:53:53 +0000</pubDate>
		<dc:creator>smeans</dc:creator>
		
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://smeans.com/2008/05/08/iphone-ringtone-relief/</guid>
		<description><![CDATA[I was really starting to get irked at Apple because it seems like they want me to pay $1.00 (ok, $.99) every time I want to turn one of my songs into a ringtone. I&#8217;ve already paid for these songs once and now every time I want to play 18 seconds of it I have [...]]]></description>
			<content:encoded><![CDATA[<p>I was really starting to get irked at Apple because it seems like they want me to pay $1.00 (ok, $.99) every time I want to turn one of my songs into a ringtone. I&#8217;ve already paid for these songs once and now every time I want to play 18 seconds of it I have to pay another $1? Crazy.</p>
<p>This guy is a genius. I just tried this <a href="http://www.edzachary.com/2007/12/make-free-iphone-ringtones-using-itunes.html">Make Free Ringtones</a> tutorial and it worked like a champ. Go Ed Zachary!</p>
]]></content:encoded>
			<wfw:commentRss>http://smeans.com/2008/05/08/iphone-ringtone-relief/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Windows hosting with GoDaddy is a royal PITA.</title>
		<link>http://smeans.com/2008/05/06/windows-hosting-with-godaddy-is-a-royal-pita/</link>
		<comments>http://smeans.com/2008/05/06/windows-hosting-with-godaddy-is-a-royal-pita/#comments</comments>
		<pubDate>Tue, 06 May 2008 18:42:11 +0000</pubDate>
		<dc:creator>smeans</dc:creator>
		
		<category><![CDATA[sql]]></category>

		<category><![CDATA[.Net]]></category>

		<category><![CDATA[coding]]></category>

		<guid isPermaLink="false">http://smeans.com/2008/05/06/windows-hosting-with-godaddy-is-a-royal-pita/</guid>
		<description><![CDATA[At least the shared stuff is. I&#8217;ve spent at least four hours today trying to get my SQL 2005 database configured on their server. Since they don&#8217;t allow remote access through SQL Server Management Studio, I&#8217;ve been forced to use their not-so-powerful web-based administration tool. Compounding that is the fact that I used to have [...]]]></description>
			<content:encoded><![CDATA[<p>At least the shared stuff is. I&#8217;ve spent at least four hours today trying to get my SQL 2005 database configured on their server. Since they don&#8217;t allow remote access through SQL Server Management Studio, I&#8217;ve been forced to use their not-so-powerful web-based administration tool. Compounding that is the fact that I used to have references between two different databases on my local server that I now need to merge into a single monolithic database, I&#8217;m not a happy camper.</p>
<p>As part of this process I&#8217;ve had to populate a bunch of tables with application-specific values. After wrestling with the crappy CSV import function that GoDaddy gave me I decided to write my own little tool to generate SQL INSERT statements for the data in my tables. Since WordPress won&#8217;t let me upload it, here&#8217;s the code:</p>
<pre>
<code>/*
 * Created by SharpDevelop.
 * User: smeans
 * Date: 5/6/2008
 * Time: 11:58 AM
 *
 * To change this template use Tools | Options | Coding | Edit Standard Headers.
 */
using System;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using System.IO;

namespace sql2insert
{
  class sql2insert
  {
    public static void Main(string[] args)
    {
      foreach (string dsn in args) {
        Console.WriteLine("writing files to " + System.Environment.CurrentDirectory);

        using (SqlConnection cn = new SqlConnection(args[0])) {
          cn.Open();

          DataTable dt = cn.GetSchema("Tables");

          foreach (DataRow row in dt.Rows) {
            for (int i = 0; i &lt; dt.Columns.Count; i++) {
              if (((string)row[3]).Equals("BASE TABLE")) {
                dumpTable(cn, (string)row[2]);
              }
            }
          }
        }
      }
    }

   static void dumpTable(SqlConnection cn, string tableName) {
     SqlCommand cmd = new SqlCommand(String.Format("SELECT * FROM [{0}]", tableName), cn);

     SqlDataReader sdr = cmd.ExecuteReader();

     if (sdr.HasRows) {
       Console.WriteLine("writing data for table " + tableName);

       using (TextWriter tw = new StreamWriter(String.Format("{0}.sql", tableName))) {
         tw.WriteLine(String.Format("SET IDENTITY_INSERT [{0}] ON", tableName));
         tw.WriteLine("GO\r\n");

         StringBuilder sbCols = new StringBuilder();

         for (int i = 0; i &lt; sdr.FieldCount; i++) {
          switch (sdr.GetFieldType(i).ToString()) {
             case "System.Byte[]": {
             } break;
             default: {
              if (sbCols.Length &gt; 0) {
                sbCols.Append(", ");
              }

              sbCols.Append(String.Format("[{0}]", sdr.GetName(i)));
             } break;
          }
         }

         tw.WriteLine();

         while (sdr.Read()) {
           tw.Write(String.Format("INSERT INTO [{0}] ({1}) VALUES (", tableName, sbCols.ToString()));

           for (int i = 0; i &lt; sdr.FieldCount; i++) {
            if (sdr.IsDBNull(i)) {
               if (i &gt; 0) {
                tw.Write(',');
               }

               tw.Write("null");
            } else {
             switch (sdr.GetFieldType(i).ToString()) {
             case "System.Int32": {
               if (i &gt; 0) {
                tw.Write(',');
               }

               tw.Write(sdr[i].ToString());
             } break;

             case "System.Decimal": {
               if (i &gt; 0) {
                tw.Write(',');
               }

               tw.Write(sdr[i].ToString());
             } break;

             case "System.Byte[]": {
             } break;

             case "System.DateTime": {
               if (i &gt; 0) {
                tw.Write(',');
               }

               tw.Write(String.Format("'{0}'", ((DateTime)sdr[i]).ToString("M/d/yyyy h:m:s tt")));
             } break;

             default: {
               if (i &gt; 0) {
                tw.Write(',');
               }

              tw.Write(String.Format("'{0}'", sdr[i].ToString().Replace("\'", "\'\'")));
             } break;
             }
           }
           }

           tw.WriteLine(")\r\nGO");
         }

         tw.WriteLine(String.Format("SET IDENTITY_INSERT [{0}] OFF", tableName));
         tw.WriteLine("GO\r\n");

         tw.Close();
       }
     }

     sdr.Close();
   }
}
}</code>
</pre>
]]></content:encoded>
			<wfw:commentRss>http://smeans.com/2008/05/06/windows-hosting-with-godaddy-is-a-royal-pita/feed/</wfw:commentRss>
		</item>
		<item>
		<title>My daughter.</title>
		<link>http://smeans.com/2008/05/02/my-daughter/</link>
		<comments>http://smeans.com/2008/05/02/my-daughter/#comments</comments>
		<pubDate>Fri, 02 May 2008 14:37:55 +0000</pubDate>
		<dc:creator>smeans</dc:creator>
		
		<category><![CDATA[life]]></category>

		<category><![CDATA[kids]]></category>

		<guid isPermaLink="false">http://smeans.com/2008/05/02/my-daughter/</guid>
		<description><![CDATA[My daughter never speaks. Most weeks I spend two or three hours total driving her around in my car, and she never speaks, she just looks out the window. I often wonder what she&#8217;s thinking about, and today when I got the school newsletter I saw this poem she wrote:
Memories
Selene Means
Team 73
I am a piece [...]]]></description>
			<content:encoded><![CDATA[<p>My daughter never speaks. Most weeks I spend two or three hours total driving her around in my car, and she never speaks, she just looks out the window. I often wonder what she&#8217;s thinking about, and today when I got the school newsletter I saw this poem she wrote:</p>
<blockquote><p><strong>Memories</strong><br />
Selene Means<br />
Team 73</p>
<p><em>I am a piece of paper;<br />
clean and blank,<br />
now written all over<br />
by others.</p>
<p>Words written in sharpie;<br />
written in ink.<br />
Staying there.<br />
Forever.</p>
<p>Everything is written.<br />
Everything.<br />
Praises.<br />
Compliments.<br />
.Kindness.<br />
Lies.<br />
Hatefulness.<br />
Misery.<br />
Anger.</p>
<p>Sometimes it seems,<br />
just seems,<br />
kindness is outnumbered<br />
by hurt.</p>
<p>But still,<br />
I am a piece of a paper.<br />
A home to these words.<br />
Written in sharpie.<br />
Staying with me.<br />
Forever.<br />
In memories.</em></p></blockquote>
<p>It makes my heart ache, because I can&#8217;t give her any of my experiences, just watch her form her own. And hope.</p>
]]></content:encoded>
			<wfw:commentRss>http://smeans.com/2008/05/02/my-daughter/feed/</wfw:commentRss>
		</item>
		<item>
		<title>The next Willy Mosconi&#8230;</title>
		<link>http://smeans.com/2008/04/28/the-next-willy-mosconi/</link>
		<comments>http://smeans.com/2008/04/28/the-next-willy-mosconi/#comments</comments>
		<pubDate>Mon, 28 Apr 2008 13:23:41 +0000</pubDate>
		<dc:creator>smeans</dc:creator>
		
		<category><![CDATA[pool]]></category>

		<guid isPermaLink="false">http://smeans.com/2008/04/28/the-next-willy-mosconi/</guid>
		<description><![CDATA[




Ok, so maybe not, but I can dream, can&#8217;t I? After watching the Smoky Mountain Shootout nine ball tournament this weekend, it&#8217;s more obvious than ever that I&#8217;m probably not cut out to be a top-flight billiards pro. But now that I have the table set up at home, maybe Skyler can be. I&#8217;m trying [...]]]></description>
			<content:encoded><![CDATA[<table>
<tr>
<td>
<a href='http://smeans.com/wp-content/uploads/2008/04/skyler_playing_pool.JPG' title='Skyler playing pool.'><img src='http://smeans.com/wp-content/uploads/2008/04/skyler_playing_pool.JPG' alt='Skyler playing pool.' /></a>
</td>
<td>Ok, so maybe not, but I can dream, can&#8217;t I? After watching the Smoky Mountain Shootout nine ball tournament this weekend, it&#8217;s more obvious than ever that I&#8217;m probably not cut out to be a top-flight billiards pro. But now that I have the table set up at home, maybe Skyler can be. I&#8217;m trying not to push him too hard, but then again, if it worked for <a href="http://www.netkushi.com/hollywood/tiger_woods.php">Tiger Woods</a>, maybe it&#8217;ll work for Skyler&#8230;</td>
</tr>
</table>
]]></content:encoded>
			<wfw:commentRss>http://smeans.com/2008/04/28/the-next-willy-mosconi/feed/</wfw:commentRss>
		</item>
		<item>
		<title>When will I be able to get Ethernet through my water pipes?</title>
		<link>http://smeans.com/2008/04/25/when-will-i-be-able-to-get-ethernet-through-my-water-pipes/</link>
		<comments>http://smeans.com/2008/04/25/when-will-i-be-able-to-get-ethernet-through-my-water-pipes/#comments</comments>
		<pubDate>Fri, 25 Apr 2008 13:23:15 +0000</pubDate>
		<dc:creator>smeans</dc:creator>
		
		<category><![CDATA[life]]></category>

		<guid isPermaLink="false">http://smeans.com/2008/04/25/when-will-i-be-able-to-get-ethernet-through-my-water-pipes/</guid>
		<description><![CDATA[I was exploring options for my friend (and mechanic) who wants to network his office and detached garage when I came across this Netgear product. If this really works, it will save me a huge headache in burying ethernet cable, etc. We&#8217;ll just have to see if it performs as advertised.
]]></description>
			<content:encoded><![CDATA[<p>I was exploring options for my friend (and mechanic) who wants to network his office and detached garage when I came across this <a href="http://www.netgear.com/Products/PowerlineNetworking/PowerlineEthernetAdapters/XE104.aspx">Netgear product</a>. If this really works, it will save me a huge headache in burying ethernet cable, etc. We&#8217;ll just have to see if it performs as advertised.</p>
]]></content:encoded>
			<wfw:commentRss>http://smeans.com/2008/04/25/when-will-i-be-able-to-get-ethernet-through-my-water-pipes/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Windows Vista: making the formerly trivial nearly impossible every day since 2007.</title>
		<link>http://smeans.com/2008/04/18/windows-vista-making-the-formerly-trivial-nearly-impossible-every-day-since-2007/</link>
		<comments>http://smeans.com/2008/04/18/windows-vista-making-the-formerly-trivial-nearly-impossible-every-day-since-2007/#comments</comments>
		<pubDate>Fri, 18 Apr 2008 20:17:23 +0000</pubDate>
		<dc:creator>smeans</dc:creator>
		
		<category><![CDATA[vista]]></category>

		<category><![CDATA[life]]></category>

		<category><![CDATA[kids]]></category>

		<guid isPermaLink="false">http://smeans.com/2008/04/18/windows-vista-making-the-formerly-trivial-nearly-impossible-every-day-since-2007/</guid>
		<description><![CDATA[So yesterday my daughter got herself into trouble. Normally, she&#8217;s a really well-behaved girl, but last night she made up for a few months of good behaviour with one well-timed failure to obey her mother and some poor choices regarding a school orchestra recital. So to punish her, I&#8217;ve taken away her access to the [...]]]></description>
			<content:encoded><![CDATA[<p>So yesterday my daughter got herself into trouble. Normally, she&#8217;s a really well-behaved girl, but last night she made up for a few months of good behaviour with one well-timed failure to obey her mother and some poor choices regarding a school orchestra recital. So to punish her, I&#8217;ve taken away her access to the computer for a week. Should be a snap, I think. In every version of Windows since NT I can just go in and disable her account. Child&#8217;s play. Wrong, sooo wrong.</p>
<p>I tried several approaches, some obvious, some not, but for some reason Microsoft decided that the account lock out feature is too dangerous for primitive Windows Vista home users. They don&#8217;t provide any access to it in the User Accounts applet through the Control Panel, and they&#8217;ve disabled access through the Computer Management MMC plug-in. After flailing around for about fifteen minutes (which for such a trivial thing felt like a lifetime), I suddenly remembered the old tried-and-true user account command line tool: <code>NET USER</code>.</p>
<p>Not to be confused with <code>NET USE</code> (which is for accessing shared network drives), <code>NET USER</code> lets you manage Windows user accounts from the command line. Feeling like I was only seconds away from my goal, I started a command prompt and got the command line help for the tool (<code>NET USER /?</code>). I get this output:</p>
<p><code>NET USER [username [password | *] [options]] [/DOMAIN]<br />
         username {password | *} /ADD [options] [/DOMAIN]<br />
         username [/DELETE] [/DOMAIN]<br />
         username [/TIMES:{times | ALL}]</code></p>
<p>Arrgh! Nothing remotely resembling the disable command I remember from 10 years ago. But, not willing to give up yet, I try <code>NET HELP USER</code>, and I see this:</p>
<p><code><em>(boring stuff elided)</em></p>
<p>Options      Are as follows:</p>
<p>   Options                    Description<br />
      ----------------------------------------------<br />
   <span style="color: red">/ACTIVE:{YES | NO}         Activates or deactivates the account. If<br />
                              the account is not active, the user cannot<br />
                              access the server. The default is YES.</span></p>
<p><em>(more boring stuff elided)</em></code></p>
<p>Victory! So I disabled her account, and it disappeared off of the login screen. She&#8217;ll think I deleted it, and I&#8217;ll go to sleep tonight satisfied that I have yet again managed to do something in 1/2 hour that could have been done with three mouse clicks a mere three years ago. Sigh.</p>
]]></content:encoded>
			<wfw:commentRss>http://smeans.com/2008/04/18/windows-vista-making-the-formerly-trivial-nearly-impossible-every-day-since-2007/feed/</wfw:commentRss>
		</item>
		<item>
		<title>I&#8217;ve seen the future, and the future is &#8230; COBOL?</title>
		<link>http://smeans.com/2008/04/15/ive-seen-the-future-and-the-future-is-cobol/</link>
		<comments>http://smeans.com/2008/04/15/ive-seen-the-future-and-the-future-is-cobol/#comments</comments>
		<pubDate>Tue, 15 Apr 2008 20:41:38 +0000</pubDate>
		<dc:creator>smeans</dc:creator>
		
		<category><![CDATA[Java]]></category>

		<category><![CDATA[coding]]></category>

		<guid isPermaLink="false">http://smeans.com/2008/04/15/ive-seen-the-future-and-the-future-is-cobol/</guid>
		<description><![CDATA[Ok, so in the process of migrating to my new laptop I&#8217;ve been forced to look at several of my old projects. I don&#8217;t remember where I found the time, but ten years ago I must have written a _lot_ of code. One of the more bizarre projects I did back then was a Y2K [...]]]></description>
			<content:encoded><![CDATA[<p>Ok, so in the process of migrating to my new laptop I&#8217;ve been forced to look at several of my old projects. I don&#8217;t remember where I found the time, but ten years ago I must have written a _lot_ of code. One of the more bizarre projects I did back then was a Y2K solution that involved cross-compiling COBOL programs to Java bytecode. I only implemented about 50% of the COBOL feature set back then, but it still turns out to be 600+ source files and who-knows-how-many thousands of LOCs.<br />
So rather than let it sit on my hard drive gathering virtual dust, I&#8217;ve created a Sourceforge project for it. Check out the <a href="https://sourceforge.net/projects/universalcobol/">Universal COBOL Compiler</a> project when you have a chance. There&#8217;s nothing out there but a one-paragraph synopsis and a bunch of code in the CVS repository, but at least it&#8217;s not hidden on my computer anymore!</p>
]]></content:encoded>
			<wfw:commentRss>http://smeans.com/2008/04/15/ive-seen-the-future-and-the-future-is-cobol/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Fun with SqlCommand.ExecuteXmlReader()</title>
		<link>http://smeans.com/2008/03/12/fun-with-sqlcommandexecutexmlreader/</link>
		<comments>http://smeans.com/2008/03/12/fun-with-sqlcommandexecutexmlreader/#comments</comments>
		<pubDate>Wed, 12 Mar 2008 15:07:52 +0000</pubDate>
		<dc:creator>smeans</dc:creator>
		
		<category><![CDATA[.Net]]></category>

		<category><![CDATA[coding]]></category>

		<guid isPermaLink="false">http://smeans.com/2008/03/12/fun-with-sqlcommandexecutexmlreader/</guid>
		<description><![CDATA[So I&#8217;m coding along this morning, minding my own business, when I run up against a really annoying problem with the XML support in the .Net SQL support classes. What I was trying to do was fetch some values from a support table as a simple XML document with an element for each row. The [...]]]></description>
			<content:encoded><![CDATA[<p>So I&#8217;m coding along this morning, minding my own business, when I run up against a really annoying problem with the XML support in the .Net SQL support classes. What I was trying to do was fetch some values from a support table as a simple XML document with an element for each row. The SQL <code>FOR XML AUTO</code> clause was just the ticket, so I wrote the following code:</p>
<pre>
<code>SqlCommand cmd = new SqlCommand();
cmd.Connection = cn;
cmd.CommandType = CommandType.Text;
cmd.CommandText = "SELECT * FROM "
  + "supportTable AS valueName FOR XML AUTO";

XmlReader res = cmd.ExecuteXmlReader();

XmlDocument doc = new XmlDocument();
doc.Load(res);</code>
</pre>
<p>but when I tried to run the code I got the following error on the doc.Load() call:</p>
<pre><code>This document already has a DocumentElement node.</code></pre>
<p>It really had me irritated, because I&#8217;d already used the exact same code in another part of my application without a hitch. So after some research, it turns out that the problem (which is obvious in retrospect) is that if multiple rows are returned, the resulting XML is not a valid document, but a document fragment. Since there is no top-level element, the Load() method chokes when it encounters the second row. Not good.</p>
<p>I found several workarounds on the web, but none that I really cared for. So I resorted to some MS SQL funny business that I&#8217;ve used in the past that did the trick. The problem here is that there is no single top-level element to serve as a root element. One possible approach is to abandon the <code>FOR XML AUTO</code> in favor of <code>FOR XML EXPLICIT</code>, but the explicit support is so incredibly complex and unusable that I&#8217;d rather cut my own foot off with a rusty tin can lid. So, to save my foot, I resorted to some fun with joins.</p>
<p>The <code>FOR XML AUTO</code> clause will actually create nested elements in the case of joins between tables, so to create a single top-level element for my support table document I created a new table in my DB called <code>dummy</code>. It has a single column (<code>dummy</code>) and a single row with a single value (<code>dummy</code>). The single row part is important, because by changing the SQL statement above slightly, I end up with the nice, valid XML document I want:</p>
<pre>
<code>SELECT * FROM dummy AS rootElementName,
  supportTable AS valueName FOR XML AUTO</code>
</pre>
<p>Voila! Now my code works and I can move on to more interesting pursuits, like the development of a <a href="http://en.wikipedia.org/wiki/Comet_(programming)">Comet</a> service for the masses. Good stuff!</p>
]]></content:encoded>
			<wfw:commentRss>http://smeans.com/2008/03/12/fun-with-sqlcommandexecutexmlreader/feed/</wfw:commentRss>
		</item>
		<item>
		<title>WTF, Steve.</title>
		<link>http://smeans.com/2008/03/04/wtf-steve/</link>
		<comments>http://smeans.com/2008/03/04/wtf-steve/#comments</comments>
		<pubDate>Tue, 04 Mar 2008 21:51:24 +0000</pubDate>
		<dc:creator>smeans</dc:creator>
		
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://smeans.com/2008/03/04/wtf-steve/</guid>
		<description><![CDATA[So last night I&#8217;m trying to add a number on my iPhone, and all of my contacts disappear! I called the helpful Apple support folks, and they had me resync with my PC and my last backup was restored to the phone. Very disconcerting. I probably lost 20 contacts in the deal.
]]></description>
			<content:encoded><![CDATA[<p>So last night I&#8217;m trying to add a number on my iPhone, and all of my contacts disappear! I called the helpful Apple support folks, and they had me resync with my PC and my last backup was restored to the phone. Very disconcerting. I probably lost 20 contacts in the deal.</p>
]]></content:encoded>
			<wfw:commentRss>http://smeans.com/2008/03/04/wtf-steve/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Push it real good.</title>
		<link>http://smeans.com/2008/03/03/push-it-real-good/</link>
		<comments>http://smeans.com/2008/03/03/push-it-real-good/#comments</comments>
		<pubDate>Mon, 03 Mar 2008 16:38:44 +0000</pubDate>
		<dc:creator>smeans</dc:creator>
		
		<category><![CDATA[coding]]></category>

		<guid isPermaLink="false">http://smeans.com/2008/03/03/push-it-real-good/</guid>
		<description><![CDATA[One of the big limitations of web-based programming is the pull nature of the HTTP protocol. Services like Google Talk, etc. get around this by using a concept that&#8217;s now called Comet, which allows the server to &#8220;push&#8221; content to the client, rather than forcing the client to continually ask for updates.
Since I tend to [...]]]></description>
			<content:encoded><![CDATA[<p>One of the big limitations of web-based programming is the pull nature of the HTTP protocol. Services like Google Talk, etc. get around this by using a concept that&#8217;s now called <a href="http://en.wikipedia.org/wiki/Comet_(programming)">Comet</a>, which allows the server to &#8220;push&#8221; content to the client, rather than forcing the client to continually ask for updates.</p>
<p>Since I tend to need this functionality more and more in my Ajax-style apps, I think there should be a web service to make this easier. I&#8217;ll keep you posted on my progress.</p>
]]></content:encoded>
			<wfw:commentRss>http://smeans.com/2008/03/03/push-it-real-good/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
