<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Designing great frameworks training: Rich Type System</title><link>http://blogs.msdn.com/brada/archive/2005/01/31/363837.aspx</link><description>Continuing on the weekly series , today we posted the session on A Rich Type System. Thanks for watching the last week’s session on naming conventions and coming that chat… Last week we had over 90 people at the chat. If you missed it there will be a</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>re: Designing great frameworks training: Rich Type System</title><link>http://blogs.msdn.com/brada/archive/2005/01/31/363837.aspx#363897</link><pubDate>Mon, 31 Jan 2005 17:37:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:363897</guid><dc:creator>Frank Hileman</dc:creator><description>Value and Reference Types: There is almost no distinction between the allocation and usage of a value or reference type in C# or VB. A lack of understanding is a recipe for disaster.</description></item><item><title>re: Designing great frameworks training: Rich Type System</title><link>http://blogs.msdn.com/brada/archive/2005/01/31/363837.aspx#363913</link><pubDate>Mon, 31 Jan 2005 18:16:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:363913</guid><dc:creator>Nicholas Allen</dc:creator><description>Changing exceptions that don’t inherit from System.Exception into a class that does inherit from System.Exception...&lt;br&gt;&lt;br&gt;Isn't it a little late to be making backwards incompatible platform changes like this?</description></item><item><title>re: Designing great frameworks training: Rich Type System</title><link>http://blogs.msdn.com/brada/archive/2005/01/31/363837.aspx#363926</link><pubDate>Mon, 31 Jan 2005 18:33:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:363926</guid><dc:creator>Brad Abrams[MSFT]</dc:creator><description>We are working on a plat to make this a compatible change. That is you could still “throw 42” and “catch 42”, but in between we’d wrap it in an exception.</description></item><item><title>re: Designing great frameworks training: Rich Type System</title><link>http://blogs.msdn.com/brada/archive/2005/01/31/363837.aspx#363945</link><pubDate>Mon, 31 Jan 2005 18:51:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:363945</guid><dc:creator>Nicholas Allen</dc:creator><description>Right, that'd be very helpful.  But before, these thrown objects would bubble through all of the code that just caught or filtered on System.Exception.  There must be millions of consumers that catch System.Exception even if they've been told not to do that.  Most of this exceptional case code is untested compared to the mainline code.  During the time the objects are wrapped by an exception, they'll hit all of these exception blocks that they didn't used to.</description></item><item><title>re: Designing great frameworks training: Rich Type System</title><link>http://blogs.msdn.com/brada/archive/2005/01/31/363837.aspx#363971</link><pubDate>Mon, 31 Jan 2005 19:34:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:363971</guid><dc:creator>JD</dc:creator><description>Nicholas, I think that's kind of the point.&lt;br&gt;&lt;br&gt;Swallowing all exceptions, if that's what you want to do, should swallow all exceptions. &lt;br&gt;&lt;br&gt;Those few non-CLS exceptions that you might have trickled by are by far the exception, and are generally not present in most applications. So the breaking aspect of this change is minimal, and in many of those cases, it actually fixes the behavior where the catch was intended to catch *all* exceptions.&lt;br&gt;&lt;br&gt;Is this a theoretical concern of yours, or is there a scenario that you know of where this will cause real problems? If it's the latter, I'm sure that Brad would love to know the details.&lt;br&gt;&lt;br&gt;</description></item><item><title>re: Designing great frameworks training: Rich Type System</title><link>http://blogs.msdn.com/brada/archive/2005/01/31/363837.aspx#363998</link><pubDate>Mon, 31 Jan 2005 20:04:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:363998</guid><dc:creator>anon</dc:creator><description>What is the point of Int32.DontTouchThis() ?</description></item><item><title>re: Designing great frameworks training: Rich Type System</title><link>http://blogs.msdn.com/brada/archive/2005/01/31/363837.aspx#364001</link><pubDate>Mon, 31 Jan 2005 20:07:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:364001</guid><dc:creator>Jonathan Pryor</dc:creator><description>RE: wrapping exceptions in a System.Exception...&lt;br&gt;&lt;br&gt;This may impact compiler writers of non-traditional languages, such as Nermerle.  Apparently they'd like exception performance to be faster than it currently is:&lt;br&gt;&lt;br&gt;&lt;a target="_new" href="http://nemerle.org/blog/archive/2005/Jan-26.html"&gt;http://nemerle.org/blog/archive/2005/Jan-26.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;One of the recommendations of a Mono developer was to use an exception type that doesn't inherit from System.Exception, as less time is needed to fill the stack trace:&lt;br&gt;&lt;br&gt;&lt;a target="_new" href="http://www.advogato.org/person/lupus/diary.html?start=13"&gt;http://www.advogato.org/person/lupus/diary.html?start=13&lt;/a&gt;&lt;br&gt;&lt;br&gt;Requiring that all exceptions thrown be a System.Exception limits the ability to perform such optimizations.</description></item><item><title>re: Designing great frameworks training: Rich Type System</title><link>http://blogs.msdn.com/brada/archive/2005/01/31/363837.aspx#364168</link><pubDate>Tue, 01 Feb 2005 01:05:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:364168</guid><dc:creator>Nicholas Allen</dc:creator><description>JD, yeah I do have a specific scenario in mind.  But that's not really the point.  Even if this kind of change gets announced on every .NET blog, only a tiny fraction of the development community will know about it to give feedback.  Even if it goes on MSDN and gets sent to all the development mailing lists, it's still a tiny fraction.  Even if it's on the front page of microsoft.com and Brad starts cold calling everyone who owns Windows, it'll still only reach a tiny fraction.&lt;br&gt;&lt;br&gt;That's why the bar for accepting breaking changes into the platform needs to be so high.  Try to get OS to break compatibility unless you have a demonstrable security hole.  They spend a ridiculous amount of time making sure things are precisely the way they were in the previous version.  .NET/WinFX is supposed to be the step beyond Win32.  The bar has to be just as high.  I can't just side-by-side every version of the framework ever released.  It defeats the point of having a shared runtime.&lt;br&gt;&lt;br&gt;Anyways, the problem I have is a Java/.NET interop scenario.  I translate Java to IL and run them together in a single process to avoid marshalling costs.  Neither code base deals well handling the other's exception types.  That is, Java code can throw an exception, more Java code higher up the stack can deal with that exception, but intervening C# code can't handle it.  And vice versa.  Previously this was not a big problem as java.lang.Exception was not descended from System.Exception, and obviously the opposite was also not the case.  With this change, all of the Java exceptions will also appear to C# as its native exception type while in flight.</description></item><item><title>Re: Int32's DontTouchThis method</title><link>http://blogs.msdn.com/brada/archive/2005/01/31/363837.aspx#364276</link><pubDate>Tue, 01 Feb 2005 04:31:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:364276</guid><dc:creator>Brian Grunkemeyer</dc:creator><description>About Int32's DontTouchThis - here's the method:&lt;br&gt;&lt;br&gt;#if _DEBUG&lt;br&gt;private void DontTouchThis() {&lt;br&gt;    m_value = 0;&lt;br&gt;}&lt;br&gt;#endif&lt;br&gt;&lt;br&gt;Our C# compiler has some great logic for detecting unused fields.  Unfortunately the compiler didn’t special case the base class library.  We got compiler warnings when compiling Int32 and some other classes saying their internal m_value field either wasn’t used, or always had its default value of 0. The compiler warning here is an error (the field was there for suitable, base level reasons).  Instead of disabling those warnings globally for mscorlib (which would have hidden problems in other classes) we ended up adding in these DontTouchThis methods to convince the compiler that we’re doing something with that field, to simply silence the compiler warning.  &lt;br&gt;&lt;br&gt;Now we do have the relatively new #pragma support in the C# compiler, so we can disable these warnings on a finer grained level.  However, we left many of the classes with the DontTouchThis method as-is, simply because of time.  Since we don’t include the DontTouchThis methods in retail builds, we get almost no gain from doing this.&lt;br&gt;&lt;br&gt;Brian Grunkemeyer&lt;br&gt;MS CLR Base Class Library team</description></item><item><title>re: Designing great frameworks training: Rich Type System</title><link>http://blogs.msdn.com/brada/archive/2005/01/31/363837.aspx#364317</link><pubDate>Tue, 01 Feb 2005 05:42:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:364317</guid><dc:creator>Matthew W. Jackson</dc:creator><description>Wrapping non-exceptions in Exception objects seems like the wrong solution to the problem.&lt;br&gt;&lt;br&gt;It seems like it would be better if more languages (especially C#) supported catching anything, even if it isn't allowed to throw anything.&lt;br&gt;&lt;br&gt;Why not add an extension to C# to allow it to catch object?  It wouldn't be of any use to a pure C# project, since you still couldn't throw anything other than an Exception.  And C# code interfacing with Java could catch java.lang.Throwable with no problem.&lt;br&gt;&lt;br&gt;What's the harm in allowing a catch with any type?</description></item><item><title>re: Designing great frameworks training: Rich Type System</title><link>http://blogs.msdn.com/brada/archive/2005/01/31/363837.aspx#364322</link><pubDate>Tue, 01 Feb 2005 05:52:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:364322</guid><dc:creator>Brad Abrams[MSFT]</dc:creator><description>It really comes down to what kind of programming model do you want?  The C# language spec is clear – all exceptions derive from System.Exception.  Frankly I think that is a rationale language design and I would not push them to change it.  </description></item><item><title>re: Designing great frameworks training: Rich Type System</title><link>http://blogs.msdn.com/brada/archive/2005/01/31/363837.aspx#364390</link><pubDate>Tue, 01 Feb 2005 08:34:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:364390</guid><dc:creator>Mattias Sjögren</dc:creator><description>Slide 52 incorrectly states that static classes have a private default constructor. Static classes don't have any instance constructor at all, not even a private one.&lt;br&gt;</description></item><item><title>re: Designing great frameworks training: Rich Type System</title><link>http://blogs.msdn.com/brada/archive/2005/01/31/363837.aspx#364566</link><pubDate>Tue, 01 Feb 2005 15:04:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:364566</guid><dc:creator>Barry Kelly</dc:creator><description>Re: Slide 30: Good news on the catch{}, vs catch (Exception e) differences.  We are very likely going to address this in Whidbey.  That is we will wrap exceptions that don’t inherit from System.Exception in a class that does inherit from System.Exception…. Look for more data on this post Beta2.&lt;br&gt;&lt;br&gt;&lt;br&gt;I really hope you don't do this, and if you do you make it optional. Most other languages I've used (especially Delphi's exception model) allow exceptions derived from non-Exception base types to prevent the exception being caught by &amp;quot;catch (Exception)&amp;quot;.&lt;br&gt;&lt;br&gt;How are we meant to create exceptions that aren't caught by catch (Exception)?&lt;br&gt;&lt;br&gt;As an aside, I believe ThreadAbortException should not be derived from Exception (irrelevant of why one should not use Thread.Abort()).</description></item><item><title>re: Designing great frameworks training: Rich Type System</title><link>http://blogs.msdn.com/brada/archive/2005/01/31/363837.aspx#364573</link><pubDate>Tue, 01 Feb 2005 15:13:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:364573</guid><dc:creator>Brad Abrams[MSFT]</dc:creator><description>Mattias, slide 52 is talking about how to define a static class in a languages that don’t support them with a keyword (for example VB or C# 1.0)… you can’t just not include a constructor there.</description></item><item><title>re: Designing great frameworks training: Rich Type System</title><link>http://blogs.msdn.com/brada/archive/2005/01/31/363837.aspx#364575</link><pubDate>Tue, 01 Feb 2005 15:14:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:364575</guid><dc:creator>Barry Kelly</dc:creator><description>I know this is the wrong place to ask this, but I will anyway.&lt;br&gt;&lt;br&gt;Does anyone know how to download the video streams on that page (&lt;a target="_new" href="http://msdn.microsoft.com/netframework/programming/classlibraries/"&gt;http://msdn.microsoft.com/netframework/programming/classlibraries/&lt;/a&gt;) to a standalone file that can be played without an internet connection? (Because my work machine has no sound, I have to bring media home with me on my pen drive to watch it, but I won't be streaming video at home.)</description></item><item><title>re: Designing great frameworks training: Rich Type System</title><link>http://blogs.msdn.com/brada/archive/2005/01/31/363837.aspx#364756</link><pubDate>Tue, 01 Feb 2005 18:26:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:364756</guid><dc:creator>Fabian</dc:creator><description>I'm not sure whether I just missed that bit, but did you really say that value types are allocated on the stack? I hope Jon Skeet doesn't see this :) [1]&lt;br&gt;&lt;br&gt;Also, I think you missed one of the most important things about value types, especially in the context of frameworks: cou can't derive other types from them. (At least on the slides, you didn't mention that. My connection sometimes broke down, so I skipped some of the audio.)&lt;br&gt;&lt;br&gt;As to how &amp;quot;int i = 123;&amp;quot; is commonly read: I usually read the &amp;quot;=&amp;quot; as &amp;quot;ist gleich&amp;quot;...&lt;br&gt;&lt;br&gt;[1] &lt;a target="_new" href="http://discuss.develop.com/archives/wa.exe?A2=ind0501d&amp;amp;L=dotnet-clr&amp;amp;T=0&amp;amp;I=-3&amp;amp;P=11867"&gt;http://discuss.develop.com/archives/wa.exe?A2=ind0501d&amp;amp;L=dotnet-clr&amp;amp;T=0&amp;amp;I=-3&amp;amp;P=11867&lt;/a&gt;</description></item><item><title>re: Designing great frameworks training: Rich Type System</title><link>http://blogs.msdn.com/brada/archive/2005/01/31/363837.aspx#364804</link><pubDate>Tue, 01 Feb 2005 19:18:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:364804</guid><dc:creator>Ray</dc:creator><description>it would be nice to download these sessions to watch offline.  They dont have internet on the train yet... </description></item><item><title>re: Designing great frameworks training: Rich Type System</title><link>http://blogs.msdn.com/brada/archive/2005/01/31/363837.aspx#364889</link><pubDate>Tue, 01 Feb 2005 21:16:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:364889</guid><dc:creator>Brad Abrams[MSFT]</dc:creator><description>Ray -- yup, you are right, we are working on a plan to make them downloadable now...</description></item><item><title>The Rich Type System chat is today! (February 2, 2005 at 1:00 P.M. Pacific Time)</title><link>http://blogs.msdn.com/brada/archive/2005/01/31/363837.aspx#365647</link><pubDate>Wed, 02 Feb 2005 21:50:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:365647</guid><dc:creator>frankred's WebLog</dc:creator><description /></item><item><title>re: Designing great frameworks training: Rich Type System</title><link>http://blogs.msdn.com/brada/archive/2005/01/31/363837.aspx#366588</link><pubDate>Thu, 03 Feb 2005 21:23:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:366588</guid><dc:creator>Mark Gantlett</dc:creator><description>&amp;quot;Also, learn when to use reference over value types, delegates, ..&amp;quot;  &lt;br&gt;&lt;br&gt;I was hoping to hear from you on delegates.  It was menchioned in the presentation description.  May be in a future show you could brief on it?&lt;br&gt;&lt;br&gt;</description></item><item><title>re: Designing great frameworks training: Rich Type System</title><link>http://blogs.msdn.com/brada/archive/2005/01/31/363837.aspx#366597</link><pubDate>Thu, 03 Feb 2005 21:32:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:366597</guid><dc:creator>Brad Abrams[MSFT]</dc:creator><description>Good point, sorry for the false advertising.. we talk about them briefly in member types (around events)… but not in depth… what were you hoping to learn?</description></item><item><title>re: Designing great frameworks training: Rich Type System</title><link>http://blogs.msdn.com/brada/archive/2005/01/31/363837.aspx#366783</link><pubDate>Fri, 04 Feb 2005 03:20:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:366783</guid><dc:creator>Mark Gantlett</dc:creator><description>I've not used delegates yet just been reading up on them this past week.  Was just wanting to hear from you best practices in general.  When to use, when not to... </description></item><item><title>re: Designing great frameworks training: Rich Type System</title><link>http://blogs.msdn.com/brada/archive/2005/01/31/363837.aspx#367262</link><pubDate>Fri, 04 Feb 2005 19:08:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:367262</guid><dc:creator>Moe</dc:creator><description>Any chance you could post the total length of each presentation somewhere so I'll know how long I need to set aside?</description></item><item><title>re: Designing great frameworks training: Rich Type System</title><link>http://blogs.msdn.com/brada/archive/2005/01/31/363837.aspx#367446</link><pubDate>Fri, 04 Feb 2005 22:41:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:367446</guid><dc:creator>Brad Abrams [MSFT]</dc:creator><description>Good idea, I just talked to the MSDN folks and they are going to add it.</description></item><item><title>re: Designing great frameworks training: Rich Type System</title><link>http://blogs.msdn.com/brada/archive/2005/01/31/363837.aspx#367767</link><pubDate>Sat, 05 Feb 2005 18:32:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:367767</guid><dc:creator>Chris Haas</dc:creator><description>First, the couple of sessions I saw were really great and informative, especially since I started using FxCop recently.&lt;br&gt;&lt;br&gt;Second, am I right in thinking that all of these sessions have already taken place? If so, is there some reason why we have to wait a week between each session? I've got a full day here that I'd love to just sit back and watch a bunch of these.</description></item><item><title>Designing great frameworks training: Member Types</title><link>http://blogs.msdn.com/brada/archive/2005/01/31/363837.aspx#367784</link><pubDate>Sat, 05 Feb 2005 22:47:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:367784</guid><dc:creator>Brad Abrams </dc:creator><description /></item><item><title>for and foreach loops - Compiler Optimizations Regarding Bounds Checking</title><link>http://blogs.msdn.com/brada/archive/2005/01/31/363837.aspx#381258</link><pubDate>Sun, 27 Feb 2005 22:09:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:381258</guid><dc:creator>David Hayden</dc:creator><description /></item><item><title>for and foreach loops - Compiler Optimizations Regarding Bounds Checking</title><link>http://blogs.msdn.com/brada/archive/2005/01/31/363837.aspx#381265</link><pubDate>Sun, 27 Feb 2005 22:30:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:381265</guid><dc:creator>David Hayden</dc:creator><description /></item><item><title>   Continuing Education at UNM  - Continuing</title><link>http://blogs.msdn.com/brada/archive/2005/01/31/363837.aspx#602175</link><pubDate>Sat, 20 May 2006 00:46:48 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:602175</guid><dc:creator>   Continuing Education at UNM  - Continuing</dc:creator><description>PingBack from &lt;a rel="nofollow" target="_new" href="http://continuing.wvtwenty.net/archive/continuing-education-at-unm/"&gt;http://continuing.wvtwenty.net/archive/continuing-education-at-unm/&lt;/a&gt;</description></item><item><title>   Brad Abrams : Designing great frameworks training: Rich Type System  - Continuing Links</title><link>http://blogs.msdn.com/brada/archive/2005/01/31/363837.aspx#603933</link><pubDate>Mon, 22 May 2006 20:30:14 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:603933</guid><dc:creator>   Brad Abrams : Designing great frameworks training: Rich Type System  - Continuing Links</dc:creator><description>PingBack from &lt;a rel="nofollow" target="_new" href="http://continuing.bptwenty.net/archive/brad-abrams-designing-great-frameworks-training-rich-type-system/"&gt;http://continuing.bptwenty.net/archive/brad-abrams-designing-great-frameworks-training-rich-type-system/&lt;/a&gt;</description></item><item><title> Brad Abrams Designing great frameworks training Rich Type System | Paid Surveys</title><link>http://blogs.msdn.com/brada/archive/2005/01/31/363837.aspx#9661851</link><pubDate>Sat, 30 May 2009 03:44:37 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9661851</guid><dc:creator> Brad Abrams Designing great frameworks training Rich Type System | Paid Surveys</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://paidsurveyshub.info/story.php?title=brad-abrams-designing-great-frameworks-training-rich-type-system"&gt;http://paidsurveyshub.info/story.php?title=brad-abrams-designing-great-frameworks-training-rich-type-system&lt;/a&gt;&lt;/p&gt;
</description></item><item><title> Brad Abrams Designing great frameworks training Rich Type System | debt settlement program</title><link>http://blogs.msdn.com/brada/archive/2005/01/31/363837.aspx#9753923</link><pubDate>Mon, 15 Jun 2009 20:05:49 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9753923</guid><dc:creator> Brad Abrams Designing great frameworks training Rich Type System | debt settlement program</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://edebtsettlementprogram.info/story.php?id=23450"&gt;http://edebtsettlementprogram.info/story.php?id=23450&lt;/a&gt;&lt;/p&gt;
</description></item><item><title> Brad Abrams Designing great frameworks training Rich Type System | fix my credit</title><link>http://blogs.msdn.com/brada/archive/2005/01/31/363837.aspx#9763592</link><pubDate>Wed, 17 Jun 2009 04:17:47 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9763592</guid><dc:creator> Brad Abrams Designing great frameworks training Rich Type System | fix my credit</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://fixmycrediteasily.info/story.php?id=17294"&gt;http://fixmycrediteasily.info/story.php?id=17294&lt;/a&gt;&lt;/p&gt;
</description></item></channel></rss>