<?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:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>blog 4 j: Thoughts on the Abstract</title>
	<atom:link href="http://chriscoy.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://chriscoy.wordpress.com</link>
	<description>my dad knows COBOL. What's even more impressive is that COBOL knows my dad.</description>
	<pubDate>Tue, 25 Sep 2007 20:04:41 +0000</pubDate>
	<generator>http://wordpress.org/?v=MU</generator>
	<language>en</language>
			<item>
		<title>What Hibernate Likes to Do With Your Lovely SQL</title>
		<link>http://chriscoy.wordpress.com/2007/09/25/what-hibernate-likes-to-do-with-your-lovely-sql/</link>
		<comments>http://chriscoy.wordpress.com/2007/09/25/what-hibernate-likes-to-do-with-your-lovely-sql/#comments</comments>
		<pubDate>Tue, 25 Sep 2007 20:03:11 +0000</pubDate>
		<dc:creator>chriscoy</dc:creator>
		
		<category><![CDATA[697458]]></category>

		<guid isPermaLink="false">http://chriscoy.wordpress.com/2007/09/25/what-hibernate-likes-to-do-with-your-lovely-sql/</guid>
		<description><![CDATA[Hibernate sometimes doesn&#8217;t like you at all.
You, the seasoned JDBC/Oracle developer.  Some of you have learned that to query using HQL, you must use the hibernate equivalent object names, but still you persist (forgive me the pun, there,) in writing HQL that looks like SQL!! This is bad.
This is bad because your application is [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Hibernate sometimes doesn&#8217;t like you at all.</p>
<p>You, the seasoned JDBC/Oracle developer.  Some of you have learned that to query using HQL, you must use the hibernate equivalent object names, but still you persist (forgive me the pun, there,) in writing HQL that looks like SQL!! This is bad.</p>
<p>This is bad because your application is suffering. It&#8217;s suffering from verbosity, and from poor performance. Here is why - and here&#8217;s what to do about it.</p>
<p>Let&#8217;s take the following example HQL query:</p>
<p><em>select o from ManyToOneObject1 mo1,<br />
ManyToOneObject2 mo2,<br />
ObjectWeReallyWant o<br />
where mo2.number = ?<br />
and o.manyToOneObject2 = mo2<br />
and o.</em><em>manyToOneObject1</em><em> = mo1<br />
and mo1.idOfSomeKind in<br />
(select distinct mo3.idOfSomeKind<br />
from [some subquery to do with filtering records])<br />
order by mo1.descriptionField</em></p>
<p>This is an actual query from &#8220;the field.&#8221; The first thing that struck me as odd about the query was that it forcibly joined many to one objects instead of just asking for the object they wanted. Like this:</p>
<p><em>from ObjectWeReallyWant as o<br />
where o.manyToOneObject1.number = ?<br />
And o.</em><em>manyToOneObject1</em><em>.</em><em>idFieldOfSomeKind</em><em> in (select idFieldOfSomeKind from [subquery stuff here])<br />
Order by </em><em>o.</em><em>manyToOneObject1</em><em>.</em><em>descriptionField</em></p>
<p>That&#8217;s a little easier to read. Either way we format the query, there is a big problem! When I looked at the SQL output in the logs of our application, I found one main query, followed by a very long list of select statements - one for each many to one record! But why? We can specify a &#8220;join&#8221; or a &#8220;select&#8221; for those mappings, and each setting will cause a different problem.</p>
<p>Join - we can have a cartesian product pulled back from Oracle. Hibernate eliminates the duplicates&#8230; but isn&#8217;t that what an INNER join is for?</p>
<p>Select - Hibernate will issue a separate select statement for each record.</p>
<p>Since neither of these options is what we want (an Oracle developer would look at our original HQL and think &#8220;inner join,&#8221;) we can tell Hibernate exactly how to fetch those relationships, as follows:</p>
<p><em>from ObjectWeReallyWant as o</em></p>
<p><strong><em>inner join fetch o.manyToOneObject1</em></strong></p>
<p><em><strong>inner join fetch o.manyToOneObject2</strong> </em></p>
<p><em>where o.manyToOneObject1.number = ?<br />
And o.</em><em>manyToOneObject1</em><em>.</em><em>idFieldOfSomeKind</em><em> in (select idFieldOfSomeKind from [subquery stuff here])<br />
Order by </em><em>o.</em><em>manyToOneObject1</em><em>.</em><em>descriptionField</em></p>
<p>Using the &#8220;inner join fetch&#8221; HQL statement does what we expected the original statement to do - inner join. In our application this resulted in one statement, and no extra records.</p>
<p>To find this and other problems (Hibernate LOVES to left outer join, leading to cartesian product hell,) turn on your SQL output. (Use property: &#8220;hibernate.show_sql=true&#8221;)</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/chriscoy.wordpress.com/12/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/chriscoy.wordpress.com/12/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chriscoy.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chriscoy.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/chriscoy.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/chriscoy.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/chriscoy.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/chriscoy.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/chriscoy.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/chriscoy.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/chriscoy.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/chriscoy.wordpress.com/12/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chriscoy.wordpress.com&blog=756413&post=12&subd=chriscoy&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://chriscoy.wordpress.com/2007/09/25/what-hibernate-likes-to-do-with-your-lovely-sql/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/chriscoy-128.jpg" medium="image">
			<media:title type="html">chriscoy</media:title>
		</media:content>
	</item>
		<item>
		<title>Javaspaces: the Codebase Problem and a Solution</title>
		<link>http://chriscoy.wordpress.com/2007/02/14/javaspaces-the-codebase-problem-and-a-solution/</link>
		<comments>http://chriscoy.wordpress.com/2007/02/14/javaspaces-the-codebase-problem-and-a-solution/#comments</comments>
		<pubDate>Wed, 14 Feb 2007 22:53:01 +0000</pubDate>
		<dc:creator>chriscoy</dc:creator>
		
		<guid isPermaLink="false">http://chriscoy.wordpress.com/2007/02/14/javaspaces-the-codebase-problem-and-a-solution/</guid>
		<description><![CDATA[Download the source code for the solution described below, here. 
Anyone who has used Javaspaces has probably achieved a measure of success on one or two machines, then started to think more about how to deploy their solution. They might ask&#8230;
&#8220;How do the other computers get the libraries needed to execute work without my altering [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><a href="http://coyfamily.org/SplitFrameJarServer.zip" title="Download the source">Download the source code for the solution described below, here. </a></p>
<p>Anyone who has used <a href="http://www.theserverside.com/tt/articles/article.tss?l=UsingJavaSpaces" title="Javaspaces">Javaspaces</a> has probably achieved a measure of success on one or two machines, then started to think more about how to deploy their solution. They might ask&#8230;</p>
<p>&#8220;How do the <em>other</em> computers get the libraries needed to execute work without my altering their classpath?&#8221;</p>
<p>This is where the &#8220;codebase&#8221; comes in.  Javaspaces/JINI (and other Java/RMI technologies for that matter,) have the ability to query a url for a particular class or jar file, and receive bytes from that request. That downloaded bytecode can then be added to the ClassLoader of the running JVM. For further explanation, <a href="http://www.kedwards.com/jini/codebase.html" title="How Codebase Works" target="_blank">see this excellent article.</a></p>
<p>In short, an Http server can easily serve classes OR jar files. However, configuring the client computers to take advantage of the available code still exists as a task. The scenario can increase in complexity based on added jars and new tasks to execute. One day, three jars served up may be enough. A month from then, perhaps fifteen jars are needed.</p>
<p><em>If you didn&#8217;t read the article mentioned above - Note the following</em>&#8230; If the codebase url ends in a slash - &#8220;/&#8221; then the url points to the root of a classpath. However, if the url is a list of jars, separated by spaces, then that specific jar is served by the Http server instead.  It is possible to do both:</p>
<p>-Djava.rmi.server.codebase=&#8221;http://poobah:8080/MyClasses.jar http://poobah:8080/ http://poobah:8080/log4j1-X.jar&#8221;</p>
<p>So if we serve multiple jars to the network, then obviously this configuration path can become long. When mutliple machines start participating, maintaining the proper list can be a problem. Also, one hard coded Http server address is hardly fault tolerant. Some failover ability is needed and lord yes, some simplicity.</p>
<p>I ran into this problem myself while working with a couple <a href="http://today.java.net/pub/a/today/2005/04/21/farm.html" title="How to build a Compute Farm">Grid Computing frameworks</a> and decided to make my life more simple. The code for my solution can be downloaded <a href="http://coyfamily.org/SplitFrameJarServer.zip" title="Download the source here">here</a>, free to anyone who&#8217;d like to use it.  (See the link at the bottom of this post.) The code is simple in concept and involves three components:</p>
<p>1. A small Http Server to handle requests.</p>
<p>2. A multicast listener (my own grid client processes extend a multicast base class that finds the url automatically on a LAN)</p>
<p>3. A jar indexer. The indexer should be pointed to a directory, and will recursively index every jar found in its path (including subdirectories.) One url is then needed to serve any class file found in any of the jars.</p>
<p>What this gives me, is the ability to always treat my jar serving http address as if it&#8217;s pointing to the root of an unzipped classpath, even though I may be actually serving classes from fifty jar files.  Further, my grid clients can automatically find new jar servers if one of the jar servers goes down, since the servers themselves listen for requests and answer with their own url.  <em>This means that none of my grid computing remote computers require any rmi codebase configuration parameter at all</em>. All I have to do to serve a new jar is drop the jar file into the path my jar server is indexing and it will be picked up and its classes will be available.</p>
<p>I am currently working on a more robust solution with a visual administration interface coupled with the ability to manage participating grid client tasks.</p>
<p>(repeat&#8230;) <a href="http://coyfamily.org/SplitFrameJarServer.zip" title="Download the source">Download the source code for the solution described below, here. </a></p>
<pre></pre>
<pre></pre>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/chriscoy.wordpress.com/9/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/chriscoy.wordpress.com/9/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chriscoy.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chriscoy.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/chriscoy.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/chriscoy.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/chriscoy.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/chriscoy.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/chriscoy.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/chriscoy.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/chriscoy.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/chriscoy.wordpress.com/9/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chriscoy.wordpress.com&blog=756413&post=9&subd=chriscoy&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://chriscoy.wordpress.com/2007/02/14/javaspaces-the-codebase-problem-and-a-solution/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/chriscoy-128.jpg" medium="image">
			<media:title type="html">chriscoy</media:title>
		</media:content>
	</item>
		<item>
		<title>a Little bit About Choosing a Framework</title>
		<link>http://chriscoy.wordpress.com/2007/02/08/a-little-bit-about-choosing-a-framework/</link>
		<comments>http://chriscoy.wordpress.com/2007/02/08/a-little-bit-about-choosing-a-framework/#comments</comments>
		<pubDate>Thu, 08 Feb 2007 22:46:55 +0000</pubDate>
		<dc:creator>chriscoy</dc:creator>
		
		<guid isPermaLink="false">http://chriscoy.wordpress.com/2007/02/08/a-little-bit-about-choosing-a-framework/</guid>
		<description><![CDATA[Here&#8217;s a nice list of available frameworks&#8230;

Personally, when I look for a framework, I consider a few factors. One of the most important factors to consider is the time available married with the existing skills of the team. If time is tight, and your entire team knows Struts very well - maybe you use Struts!
Second, [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><a href="http://en.wikipedia.org/wiki/List_of_web_application_frameworks" title="Here's a nice list of available frameworks." target="_blank" rel="nofollow">Here&#8217;s a nice list of available frameworks&#8230;<br />
</a></p>
<p>Personally, when I look for a framework, I consider a few factors. One of the most important factors to consider is the time available married with the existing skills of the team. If time is tight, and your entire team knows Struts very well - maybe you use Struts!</p>
<p>Second, there are frameworks that approach very specific technical problems and there are frameworks that deal with all tiers of the architecture. Sometimes architecting an application is a mix and match situation. In Spring’s case this is very true. For example, Spring is multi-purpose and you don’t have to use all of its features. You can mix various combinations of the following frameworks - Spring, Struts, Hibernate, Stripes. Struts and Stripes are the only two that are mutually exclusive. This is just one example and I’ve left out Webwork as a valid framework - it’s a good one, too.</p>
<p>An architect may choose to implement an even more varied combination by implementing one tier in Java and the other tier in some other language. The possibilities are wide and varied.</p>
<p>In short, I look in two places from the get-go before I choose a framework or combination of them. My own experience and Google. Once I have a list of available frameworks I then consider the following factors.</p>
<p>1. Nature of the project - Mission Critical or more of an R&amp;D effort? For more mission critical systems it’s good to make sure you have support and a mature framework that has a history of usability.</p>
<p>2. Skillset of the team vs. available time.  (Need I mention apititude or lack thereof?)</p>
<p>3. How complex does the project NEED to be? The rule of thumb is - as simple as it can possibly be and no simpler.</p>
<p>If you’re looking for a list of frameworks, I suggest the link provided at the top of this post.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/chriscoy.wordpress.com/8/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/chriscoy.wordpress.com/8/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chriscoy.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chriscoy.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/chriscoy.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/chriscoy.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/chriscoy.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/chriscoy.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/chriscoy.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/chriscoy.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/chriscoy.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/chriscoy.wordpress.com/8/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chriscoy.wordpress.com&blog=756413&post=8&subd=chriscoy&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://chriscoy.wordpress.com/2007/02/08/a-little-bit-about-choosing-a-framework/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/chriscoy-128.jpg" medium="image">
			<media:title type="html">chriscoy</media:title>
		</media:content>
	</item>
		<item>
		<title>&#8220;It Just Works&#8221; Convention over Configuration</title>
		<link>http://chriscoy.wordpress.com/2007/02/07/it-just-works-convention-over-configuration/</link>
		<comments>http://chriscoy.wordpress.com/2007/02/07/it-just-works-convention-over-configuration/#comments</comments>
		<pubDate>Wed, 07 Feb 2007 16:47:03 +0000</pubDate>
		<dc:creator>chriscoy</dc:creator>
		
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://chriscoy.wordpress.com/2007/02/07/it-just-works-convention-over-configuration/</guid>
		<description><![CDATA[Well, you say&#8230; What does THAT mean? And why the hype over Ruby on Rails or Stripes?
Convention Over Configuration is a fancy way of saying &#8220;Sensible Defaults.&#8221; (er&#8230; in my opinion.) You see, a framework is like your mom. Helpful, useful and inserts itself whenever it can. Sometimes you wish you could tweak it a [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Well, you say&#8230; What does THAT mean? And why the hype over <a href="http://www.rubyonrails.org/" title="Ruby on Rails" target="_blank">Ruby on Rails</a> or <a href="http://stripes.mc4j.org/confluence/display/stripes/Home" title="Stripes" target="_blank">Stripes</a>?</p>
<p>Convention Over Configuration is a fancy way of saying &#8220;Sensible Defaults.&#8221; (er&#8230; in my opinion.) You see, a framework is like your mom. Helpful, useful and inserts itself whenever it can. Sometimes you wish you could tweak it a bit, but no one wants to really completely dismantle it and start over. Personally I have never wanted to dismantle my mother, but that&#8217;s another blog entirely.</p>
<p>Whether a developer is working with .NET, Perl, ColdFusion or Java; configuration can sometimes be a problem.</p>
<p>When someone chooses a technology or framework for their project, certain restrictions are immediately imposed upon them, their design and the long term outcome of the project itself. This is the caveat of not reinventing the wheel. It&#8217;s not a bad trade off at all, and the payoff can be wonderful.  However, when anyone implements a &#8220;framework&#8221; they are agreeing to comply with the framework&#8217;s needs.  If a person uses Hibernate (or NHibernate for you .NET folks,) they must configure it! The same is true for Spring, Struts, etc.  These frameworks are all good at their jobs when used correctly but&#8230; one must tell them how to behave.</p>
<p>For the uninitiated, let&#8217;s clear something up. A framework is NOT a library. They are two vastly different things. What&#8217;s the difference? A framework inserts its behavior into your application and can provide external control with which you must cooperate. A library is simply <em>used</em>.  They are on opposite sides of the coin of control. There are two basic kinds of application frameworks. There are <a href="http://www.xp123.com/wwake/fw/ch12-bb.htm" title="blackbox and whitebox frameworks" target="_blank">blackbox frameworks and whitebox frameworks </a></p>
<p>So, that said - frameworks require configuration. This is sometimes a LOT of work, and it is also a lot of work to come behind a developer and try to figure out <em>why</em> a particular page navigates this way or that, and where the heck is that configured anyway??</p>
<p>That is the problem &#8220;convention&#8221; tries to solve. Put simply, when you&#8217;re adhering to a conventional means of doing something, you can make a LOT of assumptions and be right. Someone can then come behind you to do some maintenance work and make some assumptions and also be right. This saves time.  With frameworks like Ruby on Rails or Stripes, a person simply has to name things the right way, and the application is magically wired together.  However, there is a trade off.</p>
<p>Any convenience that a framework (or Operating System for that matter,) provides, usually comes at the price of the loss of control at a low level. The more any entity does for you, whether it be your mom, your government, your operating system or your framework of choice, you lose a little bit of control (or sometimes a lot.)  However, managers and CIOs and developers too, are tired of the ability to easily make mistakes.  They are also tired of having to train people to use a framework. A framework should save the company money, and be <em>easy</em> to work with.</p>
<p>To say a framework is easy to work with is a subjective statement. However we could make that statement more quantitative by saying that a framework takes a certain percentage of time to piece together components, and a certain percentage of time to implement those components. If that is our measure of ease, &#8220;convention over configuration&#8221; is easier. These frameworks may not suit every application&#8217;s needs, so avoid the knee jerk reaction of &#8220;this will make our lives easier, let&#8217;s use it!!&#8221; That&#8217;s simply wrong.  However, if an Application Architect really understands the business needs of an application and can use such a framework, most people believe that much time and money would be saved. That is why convention over configuration is exciting. Not because it&#8217;s fun, not because it&#8217;s new. It&#8217;s exciting because it&#8217;s marketable to management, and can provide quick results - especially in an Agile environment.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/chriscoy.wordpress.com/4/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/chriscoy.wordpress.com/4/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chriscoy.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chriscoy.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/chriscoy.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/chriscoy.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/chriscoy.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/chriscoy.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/chriscoy.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/chriscoy.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/chriscoy.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/chriscoy.wordpress.com/4/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chriscoy.wordpress.com&blog=756413&post=4&subd=chriscoy&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://chriscoy.wordpress.com/2007/02/07/it-just-works-convention-over-configuration/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/chriscoy-128.jpg" medium="image">
			<media:title type="html">chriscoy</media:title>
		</media:content>
	</item>
	</channel>
</rss>