<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet type="text/xsl" href="RSS_xslt_style.asp" version="1.0" ?>
<rss version="2.0" xmlns:WebWizForums="http://syndication.webwiz.co.uk/rss_namespace/">
 <channel>
  <title>DevForce Community Forum : Is DevForce Future Proof?</title>
  <link>http://www.ideablade.com/forum/</link>
  <description>This is an XML content feed of; DevForce Community Forum : DevForce Classic : Is DevForce Future Proof?</description>
  <pubDate>Sat, 11 Apr 2026 04:11:52 -700</pubDate>
  <lastBuildDate>Thu, 12 Jul 2007 12:26:29 -700</lastBuildDate>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Web Wiz Forums 9.69</generator>
  <ttl>360</ttl>
  <WebWizForums:feedURL>www.ideablade.com/forum/RSS_post_feed.asp?TID=158</WebWizForums:feedURL>
  <image>
   <title>DevForce Community Forum</title>
   <url>http://www.ideablade.com/forum/forum_images/IdeaBlade_logo_tm.png</url>
   <link>http://www.ideablade.com/forum/</link>
  </image>
  <item>
   <title>Is DevForce Future Proof? : This question has nothing to do...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=158&amp;PID=342#342</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.ideablade.com/forum/member_profile.asp?PF=21" rel="nofollow">IdeaBlade</a><br /><strong>Subject:</strong> 158<br /><strong>Posted:</strong> 12-Jul-2007 at 12:26pm<br /><br /><DIV dir=ltr align=left><SPAN =671384105-11112006><FONT face=Arial color=#0000ff size=2>This question has nothing to do with LINQ.&nbsp;</FONT></SPAN></DIV><DIV dir=ltr align=left><SPAN =671384105-11112006><FONT face=Arial color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV><DIV dir=ltr align=left><SPAN =671384105-11112006><FONT face=Arial color=#0000ff size=2>The author has posted a compound question, one that is a bit challenging to disentangle. I shall try briefly.</FONT></SPAN></DIV><DIV dir=ltr align=left><SPAN =671384105-11112006><FONT face=Arial color=#0000ff size=2></FONT></SPAN>&nbsp;&nbsp;</DIV><DIV dir=ltr align=left><SPAN =671384105-11112006><FONT face=Arial color=#0000ff size=2>Your question&nbsp;is actually a multi-pronged question, each prong with its own sharp point. </FONT></SPAN><SPAN =671384105-11112006><FONT face=Arial color=#0000ff size=2>Let me see what I can do with it.</FONT></SPAN></DIV><DIV dir=ltr align=left><SPAN =671384105-11112006><FONT face=Arial color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV><DIV dir=ltr align=left><SPAN =671384105-11112006><FONT face=Arial color=#0000ff size=2><strong>"Program to an interface, not an implementation"</strong> </FONT></SPAN></DIV><DIV dir=ltr align=left><SPAN =671384105-11112006><FONT face=Arial color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV><DIV dir=ltr align=left><SPAN =671384105-11112006><FONT face=Arial color=#0000ff size=2>That's a great aphorism. How should it guide us?</FONT></SPAN></DIV><DIV dir=ltr align=left><SPAN =671384105-11112006><FONT face=Arial color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV><DIV dir=ltr align=left><SPAN =671384105-11112006><FONT face=Arial color=#0000ff size=2>I&nbsp;assume that&nbsp;you are not expecting&nbsp;DevForce to provide interfaces for everything; no one does that. I think the question can be rephrased as</FONT></SPAN></DIV><DIV dir=ltr align=left><SPAN =671384105-11112006><FONT face=Arial color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV><DIV dir=ltr align=left><SPAN =671384105-11112006><FONT face=Arial color=#0000ff size=2>"Why doesn't the Object Mapper generate interfaces for&nbsp;DevForce business object classes?"</FONT></SPAN></DIV><DIV dir=ltr align=left><SPAN =671384105-11112006><FONT face=Arial color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV><DIV dir=ltr align=left><SPAN =671384105-11112006><FONT face=Arial color=#0000ff size=2>We've wrestled with this one over the&nbsp;years ... and&nbsp;it never quite goes away. There is at least one scenario where&nbsp;interfaces would be very useful indeed.</FONT></SPAN></DIV><DIV dir=ltr align=left><SPAN =671384105-11112006><FONT face=Arial color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV><DIV dir=ltr align=left><SPAN =671384105-11112006><FONT face=Arial color=#0000ff size=2>&#091;aside: They might be useful for bridging&nbsp;two business models. Consider two models&nbsp;- which means two&nbsp;separate assemblies.&nbsp;An entity in one assembly must refer to an entity in the other and vice versa. Two .NET assemblies cannot refer to each other. An interface in a third project, referenced by both, would facilitate an arrangement in which the entities&nbsp;in separate assemblies could access each other through their mutual interfaces.&nbsp;&nbsp;In practice,&nbsp;few of our customers actually need multiple models with bi-directional entity references. We offer a prescription for this when and if you need it.&#093;</FONT></SPAN></DIV><DIV dir=ltr align=left><SPAN =671384105-11112006><FONT face=Arial color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV><DIV dir=ltr align=left><SPAN =671384105-11112006><FONT face=Arial color=#0000ff size=2>On the other hand, every design pattern has a cost and we've concluded that the cost is to high for our customers</FONT></SPAN></DIV><UL dir=ltr><LI><DIV align=left><SPAN =671384105-11112006><FONT face=Arial color=#0000ff size=2>We are already generating two class files per business object entity (the final class and the DataRow class); another would add to the file management burden.</FONT></SPAN></DIV><LI><DIV align=left><SPAN =671384105-11112006><FONT face=Arial color=#0000ff size=2>Interfaces are supposed to be small (3 to 10 members tops); even the most simple business object entity would have an enormous number of members.</FONT></SPAN></DIV><LI><DIV align=left><SPAN =671384105-11112006><FONT face=Arial color=#0000ff size=2>One creates an interface in contemplation of multiple implementations. We can't think of a good reason to have multiple implementations of a business object and crafting a second implementation that satisfied the huge interface of a DevForce entity would be an enormous challenge.</FONT></SPAN></DIV><LI><DIV align=left><SPAN =671384105-11112006><FONT face=Arial color=#0000ff size=2>Developers are expected to&nbsp;add custom members to their final classes - lots of them; if there were an interface, they would have to remember to extend that as well.</FONT></SPAN></DIV><LI><DIV align=left><SPAN =671384105-11112006><FONT face=Arial color=#0000ff size=2>Extending an interface breaks all other implementations. I would be in a tough spot if I had to enrich the business logic&nbsp;in my entity ... and carry that through to the interface.</FONT></SPAN></DIV><LI><DIV align=left><SPAN =671384105-11112006><FONT face=Arial color=#0000ff size=2>We'd be asking developers to manage and evolve an interface file that they almost never use; this is contrary to agile principles.</FONT></SPAN></DIV></LI></UL><DIV dir=ltr align=left><SPAN =671384105-11112006><FONT face=Arial color=#0000ff size=2>These are just a few of the impediments to generating an interface for every entity class. So, although it would be easy to generate an interface - a piece of cake really - we have held off doing so until there is a compelling use case.</FONT></SPAN></DIV><DIV dir=ltr align=left><SPAN =671384105-11112006><FONT face=Arial color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV><DIV dir=ltr align=left><SPAN =671384105-11112006><FONT face=Arial color=#0000ff size=2>What if I need an interface (e.g., for the cross model scenario)? It is not hard to add an interface by&nbsp;hand&nbsp;later as long as I don't make a habit of it. Such a custom interface can be nice and short, providing just the API that is required to meet its purpose.</FONT></SPAN></DIV><DIV dir=ltr align=left><SPAN =671384105-11112006><FONT face=Arial color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV><DIV dir=ltr align=left><SPAN =671384105-11112006><FONT face=Arial color=#0000ff size=2>Observe also that DevForce entities derive from abstract classes. Abstract classes provide a stronger and more flexible "contract" than interfaces and are almost always preferred to interfaces (see "Framework Design Guidelines" by Cwalina, et. al).</FONT></SPAN></DIV><DIV dir=ltr align=left><SPAN =671384105-11112006><FONT face=Arial color=#0000ff size=2><strong></strong></FONT></SPAN>&nbsp;</DIV><DIV dir=ltr align=left><SPAN =671384105-11112006><FONT face=Arial color=#0000ff size=2><strong>"Microsoft appears to be taking &#091;interfaces&#093; on wholeheartedly with WCF"</strong></FONT></SPAN></DIV><DIV dir=ltr align=left><SPAN =671384105-11112006><FONT face=Arial color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV><DIV dir=ltr align=left><SPAN =671384105-11112006><FONT face=Arial color=#0000ff size=2>Microsoft has always made judicious use of interfaces. So has IdeaBlade (see IEntityQuery for example). But Microsoft doesn't use them everywhere. You don't see an "IControl" for example. You won't find them everywhere&nbsp;in WCF or WPF either. Interfaces appear where there is reasonable expectation that some external party will provide an implementation of the interface. That situation just doesn't seem to apply to business objects.</FONT></SPAN></DIV><DIV dir=ltr align=left><SPAN =671384105-11112006><FONT face=Arial color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV><DIV dir=ltr align=left><SPAN =671384105-11112006><FONT face=Arial color=#0000ff size=2><strong>"I don't want to be locked in"</strong></FONT></SPAN></DIV><DIV dir=ltr align=left><SPAN =671384105-11112006><FONT face=Arial color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV><DIV dir=ltr align=left><SPAN =671384105-11112006><FONT face=Arial color=#0000ff size=2>A noble goal and we do our best to facilitate that goal through our layered architecture.</FONT></SPAN></DIV><DIV dir=ltr align=left><SPAN =671384105-11112006><FONT face=Arial color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV><DIV dir=ltr align=left><SPAN =671384105-11112006><FONT face=Arial color=#0000ff size=2>Consider, for example, the separation of the final class from the generated class. You put all of your proprietary, custom business logic into the final class. Suppose some day, you decide to leave the DevForce community and strike out on your own. You could generate your own equivalent of&nbsp;our DataRow classes and make your final classes inherit from them. Your custom work survives the switch. The UI layer only talks to your final classes so it knows nothing of this change.</FONT></SPAN></DIV><DIV dir=ltr align=left><SPAN =671384105-11112006><FONT face=Arial color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV><DIV dir=ltr align=left><SPAN =671384105-11112006><FONT face=Arial color=#0000ff size=2>Suppose you have your own notion of an Entity super class on which to rest all of your business object classes. It is a trivial matter&nbsp;for DevForce to&nbsp;generate a base class supporting your object model. You take this base class, break its inheritance from our Ideablade.Persistence.Entity class,&nbsp;and put your own uber-class in its place. Now you can keep both your custom final classes and the DevForce generated DataRow classes. The UI layer need not know about this change either.</FONT></SPAN></DIV><DIV dir=ltr align=left><SPAN =671384105-11112006><FONT face=Arial color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV><DIV dir=ltr align=left><SPAN =671384105-11112006><FONT face=Arial color=#0000ff size=2>Our approach assumes that a manager class instance provides the persistence operations essential to an object-oriented persistence layer. This is the PersistenceManager in DevForce. To my knowledge, every object persistence product&nbsp;on the market has a similar construct (albeit with much different API and capabilities). You could replace&nbsp;our PM with something you wrote that adapted an alternative manager to the PersistenceManager API. Call it "PersistenceManager" and&nbsp;the resulting impact on your UI layer should be comparatively small. </FONT></SPAN></DIV><DIV dir=ltr align=left><SPAN =671384105-11112006><FONT face=Arial color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV><DIV dir=ltr align=left><SPAN =671384105-11112006><FONT face=Arial color=#0000ff size=2>I don't mean to suggest that any of this would be a breeze. But it would be possible precisely because we have such a well layered and well abstracted architecture.</FONT></SPAN></DIV><DIV dir=ltr align=left><SPAN =671384105-11112006><FONT face=Arial color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV><DIV dir=ltr align=left><SPAN =671384105-11112006><FONT face=Arial color=#0000ff size=2><strong>Interfaces do not provide the reassurance you seek.</strong></FONT></SPAN></DIV><SPAN =671384105-11112006><DIV dir=ltr align=left><SPAN =671384105-11112006><FONT face=Arial color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV><DIV dir=ltr align=left><SPAN =671384105-11112006><FONT face=Arial color=#0000ff size=2>DefForce&nbsp;delivers&nbsp;an&nbsp;enormous&nbsp;amount&nbsp;of&nbsp;functionality.&nbsp;If you want what DevForce offers AND you want to keep your options open, you'll want&nbsp;to find alternatives that offer comparable range and power. An interface - if it existed - would prescribe the API. It defines&nbsp;the so-called contract. If you decide DevForce&nbsp;should no longer&nbsp;fulfill that contract, you'd have to find someone (something) that can. The contract itself is useless unless and until you can find a party to sign up for it.</FONT></SPAN></DIV><DIV dir=ltr align=left><SPAN =671384105-11112006><FONT face=Arial color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV><DIV dir=ltr align=left><SPAN =671384105-11112006><FONT face=Arial color=#0000ff size=2>Keeping with the power analogy, suppose we decided that we didn't want to use energy from our local utility giant. The interface is simple (110v, 50hz). Our challenge is finding an alternative source of energy that is reliable and adequate. That's not too hard if our needs are limited. It's a different story if we have to provide 24/7 power to industrial plants distributed over a wide geography. We won't know if we made a big mistake until the day we switch over.</FONT></SPAN></DIV><DIV dir=ltr align=left><SPAN =671384105-11112006><FONT face=Arial color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV><DIV dir=ltr align=left><SPAN =671384105-11112006><FONT face=Arial color=#0000ff size=2>You face a similar&nbsp;challenge if you want to keep a DevForce alternative waiting in the wings.</FONT></SPAN></DIV><DIV dir=ltr align=left><SPAN =671384105-11112006><FONT face=Arial color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV><DIV dir=ltr align=left><SPAN =671384105-11112006><FONT face=Arial color=#0000ff size=2>Of course you can always decide that you don't want the DevForce capabilities in the first place. Again, our interfaces (or lack of them) have no bearing on this choice.</FONT></SPAN></DIV><DIV dir=ltr align=left><SPAN =671384105-11112006><FONT face=Arial color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV><DIV dir=ltr align=left><SPAN =671384105-11112006><DIV dir=ltr align=left><SPAN =671384105-11112006><FONT face=Arial color=#0000ff size=2><strong>What if IdeaBlade goes out of business?</strong></FONT></SPAN></DIV></SPAN></DIV><DIV dir=ltr align=left><SPAN =671384105-11112006><FONT face=Arial color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV><DIV dir=ltr align=left><SPAN =671384105-11112006><FONT face=Arial color=#0000ff size=2>Always a good question.</FONT></SPAN></DIV><DIV dir=ltr align=left><SPAN =671384105-11112006><FONT face=Arial color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV><DIV dir=ltr align=left><FONT face=Arial><FONT color=#0000ff><FONT size=2><SPAN =671384105-11112006>Would you feel safer if you had the DevForce source code?&nbsp;</SPAN><SPAN =671384105-11112006>We offer several </SPAN><SPAN =671384105-11112006>flavors of source code access; our sales team would be happy to talk to you about these options.</SPAN></FONT></FONT></FONT></DIV><DIV dir=ltr align=left><FONT face=Arial><FONT color=#0000ff><FONT size=2><SPAN =671384105-11112006></SPAN></FONT></FONT></FONT>&nbsp;</DIV><DIV dir=ltr align=left><FONT face=Arial><FONT color=#0000ff><FONT size=2><SPAN =671384105-11112006>Maybe you are just uncomfortable relying on a single vendor. As with any threat, you might want to weigh the alternatives.&nbsp;</SPAN></FONT></FONT></FONT><FONT face=Arial><FONT color=#0000ff><FONT size=2><SPAN =671384105-11112006>One such alternative: &nbsp;"I'll write&nbsp;the .NET application infrastructure myself".</SPAN></FONT></FONT></FONT></DIV><DIV dir=ltr align=left><FONT face=Arial><FONT color=#0000ff><FONT size=2><SPAN =671384105-11112006></SPAN></FONT></FONT></FONT>&nbsp;</DIV><DIV dir=ltr align=left><FONT face=Arial><FONT color=#0000ff><FONT size=2><SPAN =671384105-11112006>You might ask yourself:</SPAN></FONT></FONT></FONT></DIV><DIV dir=ltr align=left><UL dir=ltr><LI><DIV align=left><FONT face=Arial><FONT color=#0000ff><FONT size=2><SPAN =671384105-11112006>How long will that take? Can I put a cost on the effort or is my labor free?</SPAN></FONT></FONT></FONT></DIV><LI><DIV align=left><FONT face=Arial><FONT color=#0000ff><FONT size=2><SPAN =671384105-11112006>Can my client&nbsp;or manager wait until I'm "done" before I start building the application itself? Are there lost opportunity costs?</SPAN></FONT></FONT></FONT></DIV><LI><DIV align=left><FONT face=Arial><FONT color=#0000ff><FONT size=2><SPAN =671384105-11112006>Who will document&nbsp;my infrastructure&nbsp;for other developers and at what cost?</SPAN></FONT></FONT></FONT></DIV><LI><DIV align=left><FONT face=Arial><FONT color=#0000ff><FONT size=2><SPAN =671384105-11112006>Who will train other developers and at what cost?</SPAN></FONT></FONT></FONT></DIV><LI><DIV align=left><FONT face=Arial><FONT color=#0000ff><FONT size=2><SPAN =671384105-11112006>Who provides the support? Who fixes bugs? At what cost?</SPAN></FONT></FONT></FONT></DIV><LI><DIV align=left><FONT face=Arial><FONT color=#0000ff><FONT size=2><SPAN =671384105-11112006>Who besides me can maintain it and enhance it? What happens if I leave the company?</SPAN></FONT></FONT></FONT></DIV><LI><DIV align=left><FONT face=Arial><FONT color=#0000ff><FONT size=2><SPAN =671384105-11112006>Do I know enough to build what IdeaBlade has built over the last four years?</SPAN></FONT></FONT></FONT></DIV><LI><DIV align=left><FONT face=Arial><FONT color=#0000ff><FONT size=2><SPAN =671384105-11112006>What happens when Microsoft introduces the next version of .NET?</SPAN></FONT></FONT></FONT></DIV></LI></UL></DIV><DIV dir=ltr align=left><FONT face=Arial><FONT color=#0000ff><FONT size=2><SPAN =671384105-11112006>Many of our customers can't answer these questions with any precision. Predictability is important to them and such an inventory of unknowns introduces a degree of uncertainty they can't afford.</SPAN></FONT></FONT></FONT></DIV><DIV dir=ltr align=left><FONT face=Arial><FONT color=#0000ff><FONT size=2><SPAN =671384105-11112006></SPAN></FONT></FONT></FONT>&nbsp;</DIV><DIV dir=ltr align=left><FONT face=Arial><FONT color=#0000ff><FONT size=2><SPAN =671384105-11112006>Some customers&nbsp;feel that&nbsp;they can measure these risks and assign the costs; they quickly conclude that DevForce is a bargain.</SPAN></FONT></FONT></FONT></DIV><DIV dir=ltr align=left><FONT face=Arial><FONT color=#0000ff><FONT size=2><SPAN =671384105-11112006></SPAN></FONT></FONT></FONT>&nbsp;</DIV><DIV dir=ltr align=left><FONT face=Arial><FONT color=#0000ff><FONT size=2><SPAN =671384105-11112006>In our view, build-it-yourself is almost always the wrong choice. A better question is: "do I go with IdeaBlade and DevForce or do I go with a different product?"</SPAN></FONT></FONT></FONT></DIV><DIV dir=ltr align=left><FONT face=Arial><FONT color=#0000ff><FONT size=2><SPAN =671384105-11112006></SPAN></FONT></FONT></FONT>&nbsp;</DIV><DIV dir=ltr align=left><FONT face=Arial><FONT color=#0000ff><FONT size=2><SPAN =671384105-11112006>That's a question for another day. I mention it only to suggest that "interfaces" - their presence or absence - are of little help in answering that question. No one really wants to swap out their application infrastructure anyway. They want features, performance, support and ... yes ... vendor stability. </SPAN></FONT></FONT></FONT><FONT face=Arial><FONT color=#0000ff><FONT size=2><SPAN =671384105-11112006>I think we're extremely competitve across the board on these crucial criteria.</SPAN></FONT></FONT></FONT></DIV><DIV dir=ltr align=left><FONT face=Arial><FONT color=#0000ff><FONT size=2><SPAN =671384105-11112006></SPAN></FONT></FONT></FONT>&nbsp;</DIV><DIV dir=ltr align=left><FONT face=Arial><FONT color=#0000ff><FONT size=2><SPAN =671384105-11112006>You started with a technical question - where are the interfaces? - and suggested there were business implications to the question. I trust that you found my combination of technical and business answers to have been responsive&nbsp;and not just some DevForce sales pitch.</SPAN></FONT></FONT></FONT></DIV><DIV dir=ltr align=left><FONT face=Arial><FONT color=#0000ff><FONT size=2><SPAN =671384105-11112006></SPAN></FONT></FONT></FONT>&nbsp;</DIV><DIV dir=ltr align=left><FONT face=Arial><FONT color=#0000ff><FONT size=2><SPAN =671384105-11112006>Of course I hope that you (and other readers) will decide to join the DevForce development community (and that IS my sales pitch).</SPAN></FONT></FONT></FONT></DIV><P></SPAN><BR></P>]]>
   </description>
   <pubDate>Thu, 12 Jul 2007 12:26:29 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=158&amp;PID=342#342</guid>
  </item> 
  <item>
   <title>Is DevForce Future Proof? : This is an open question to Ideablade...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=158&amp;PID=341#341</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.ideablade.com/forum/member_profile.asp?PF=20" rel="nofollow">Customer</a><br /><strong>Subject:</strong> 158<br /><strong>Posted:</strong> 12-Jul-2007 at 12:25pm<br /><br /><P>This is an open question to Ideablade that may help others commit to DevForce.<BR><BR>As the Gang Of Four wrote "Program to an interface not to an implementation."&nbsp; Microsoft appears to now be taking that on board whole heartedly with WCF.&nbsp; Internally the layers may use a very different implementation of a Contact class but they all implement the IContact interface for instance.<BR><BR>In making the decision to use a 3rd party architecture like DevForce, I don't want to be locked into it's implementation. The sales material gives assurances that this isn't the case. However the examples I've very briefly looked at don't use interfaces to for the Business Objects. And the binding controls as well could easily date.<BR><BR>In detail could you please explain how Architecturally and Technically DevForce is future proof if Ideablade as a company vanished overnight?&nbsp;&nbsp; (However unlikely that may be.)</P>]]>
   </description>
   <pubDate>Thu, 12 Jul 2007 12:25:40 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=158&amp;PID=341#341</guid>
  </item> 
 </channel>
</rss>