<?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>The Pit of Success</title><link>http://blogs.msdn.com/brada/archive/2003/10/02/50420.aspx</link><description>The Pit of Success : in stark contrast to a summit, a peak, or a journey across a desert to find victory through many trials and surprises, we want our customers to simply fall into winning practices by using our platform and frameworks. To the extent</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>RE: The Pit of Success</title><link>http://blogs.msdn.com/brada/archive/2003/10/02/50420.aspx#50421</link><pubDate>Fri, 03 Oct 2003 16:09:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:50421</guid><dc:creator>jlewicki</dc:creator><description>I definitely agree with your comments about API names; it always seemed unfortunate to me that there is a class called BindingManagerBase...I really would have preferred this to  be just BindingManager.  My rule of thumb is that I only use a 'Base' suffix in a class name only when clients arent using the type in a polymorphic fashion.  So CollectionBase is fine, but BindingManagerBase is not...

Of course if there had been an IBindingManager then this would not have been a problem...</description></item><item><title>RE: The Pit of Success</title><link>http://blogs.msdn.com/brada/archive/2003/10/02/50420.aspx#50422</link><pubDate>Fri, 03 Oct 2003 17:37:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:50422</guid><dc:creator>Shane King</dc:creator><description>Seems like a lot of great words that don't carry much meaning.

Pretty much every language/API/framework developer would like to have things &amp;quot;just work&amp;quot;, such that the obvious way to write code was the best.

So I don't see a great deal of value of stating that, it should be obvious. Concrete ways of achieving this is what the big issue is. I'd love to see more and deeper usability research done on programming languages and frameworks, which might give us some data to base such work on.

Otherwise, when you design something such that the &amp;quot;obvious&amp;quot; way is the right way, what you're really doing is designing it such that the right way is the way that's obvious to you. Which is a start, but not necessarily what's good for other people.

It's funny how there seems to be an industry push towards usability guidelines backed up by studies and customer feedback when it comes to the UI in the end product. Yet the end product that us programmers use day in and day out is really designed on a &amp;quot;seems like the right thing to do to me&amp;quot; basis. Something that's largely been rejected due to poor results for the end users, yet we're made to suffer through it!
</description></item><item><title>RE: The Pit of Success</title><link>http://blogs.msdn.com/brada/archive/2003/10/02/50420.aspx#50423</link><pubDate>Fri, 03 Oct 2003 19:44:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:50423</guid><dc:creator>Brad Abrams</dc:creator><description>Shane, your point is taken.  In fact we have several fulltime API usability engineer that are constantly developing and running studies about what make good API design.  There is nothing like sitting on the other side of the one-way class watching a developer struggle to use an API you thought you designed well.    We are working hard to give that experience to designers of as many of the API sets as we can.  But on a more leveraged scale are factoring much of that information into the Design Guidelines document and then into the design of our APIs. It seems there is clearly some value in getting more of the raw usability information out… I will see what I can do.   </description></item><item><title>RE: The Pit of Success</title><link>http://blogs.msdn.com/brada/archive/2003/10/02/50420.aspx#50424</link><pubDate>Sat, 04 Oct 2003 05:40:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:50424</guid><dc:creator>Phil Syme</dc:creator><description>Although this is tangentially related, I wanted to add a &amp;quot;real life&amp;quot; experience.  At my current day job, we're developing an extensive WinForms based desktop withing an n-tier .Net app.  Our target deployment platforms is Win2k machines @500 Mhz w/256Mb ram (I would bet that this platform is the norm for large corporations such as the one I work for.)  We recently started Ngen’ing on deploy, and the performance difference is incredible (for the better).  From casual observation using perfmon, it appears that code is being JITed “all of the time” – possibly re-JITed or something else.  The JITing is taking up most of the CPU most of the time on these low-end machines.  Of course we will figure out the exact story of what and why this is so with enough time and effort, and correct the bad thing(s) we’ve done code-wise so that Ngen won’t make such a difference.

My point is that I shouldn’t be in this situation.  I’ve been a C/C++ guy for many years, and it’s my experience that you have to try very hard to not do the right thing to get bad performance from a C++ implementation.  The same should hold true for .Net related activities.

Please, throw me into the pit.
</description></item><item><title>RE: The Pit of Success</title><link>http://blogs.msdn.com/brada/archive/2003/10/02/50420.aspx#50425</link><pubDate>Sat, 04 Oct 2003 13:51:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:50425</guid><dc:creator>KiwiBlue</dc:creator><description>Phil, I have to disagree with you on 'trying very hard to not to do the right thing' with respect to C++ implementation. Recently, I had to review a piece of C++ code which had been passing large vectors by value to various methods. Since the guy who wrote the code no longer works here, I don't know if he was just missing const &amp;amp;, or had no idea of how objects are passed by value in C++ (and how time-expensive memory allocation is).</description></item><item><title>RE: The Pit of Success</title><link>http://blogs.msdn.com/brada/archive/2003/10/02/50420.aspx#50426</link><pubDate>Mon, 06 Oct 2003 05:13:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:50426</guid><dc:creator>madhu</dc:creator><description>Brad,
link to gotdotnet page you have in the post  is not working can you repost the correct link</description></item><item><title>RE: The Pit of Success</title><link>http://blogs.msdn.com/brada/archive/2003/10/02/50420.aspx#50427</link><pubDate>Mon, 06 Oct 2003 07:46:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:50427</guid><dc:creator>Brad Abrams</dc:creator><description>Sorry about that -- fixed</description></item><item><title>RE: The Pit of Success</title><link>http://blogs.msdn.com/brada/archive/2003/10/02/50420.aspx#50428</link><pubDate>Mon, 06 Oct 2003 22:04:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:50428</guid><dc:creator>John Dhom</dc:creator><description>I like the metaphor... especially coming from a CLR guy ;)  At first read (this blog and the headtrax perfwhacking session) I can see how you can do some of this with the CLR. It's a little less clear as you move up the food chain. I hope you find the following of interest... here's a half step up the food chain.

Jitrz (java/.net) can do some interesting things beyond loading/compiling. Jitrz do late-bound, for lack of proper term, optimizations... things that take into account the run-time/access behavior... things that cannot be known at compile time (static). They establish an internal feedback loop regarding code and use.

Now take the Headtrax perfwhacking report... much attention was paid to assemblies, disk access, etc.... even suggestions on optimizing deployment assemblies based on run-time specifics vs the logical model. Gah! [note: i understand why] I'd like the CLR (et. al.) to do for my assembly loading what the Jitrz do for late-bound optimization. In other words... figure it out and fix it. Ha! It has all the info on access patterns and probably load times.

So in my perfect pit, headtrax developers too, the assembly performance (load) and access patterns would be analyzed and assemblies &amp;quot;regrouped&amp;quot; to improve performance. I can keep my [il]logical assembly groupings... the CLR optimizes it over time (based on it's current implementation and how users &amp;quot;use&amp;quot; the software)... and users get good performance by accident... I mean fall into the Pit of Success.

/jhd</description></item><item><title>RE: The Pit of Success</title><link>http://blogs.msdn.com/brada/archive/2003/10/02/50420.aspx#50429</link><pubDate>Thu, 09 Oct 2003 16:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:50429</guid><dc:creator>Frank Hileman</dc:creator><description>The perf advantages of JIT compiling mentioned by John Dhom seem only to apply to server side applications. For client side apps, the user is so annoyed by the JIT delays that the JIT compiler cannot do much of any optimization.

Consider that the new release of Office is not written in managed code. From the blog of Jason Zander: &amp;quot;We did some experiments early on in the Runtime as proof of concept for our managed C++ compiler which included recompiling Word as an IL image.  It worked great!  But it was slow.  Office is a big application, and using the JIT for this case didn't put our best foot forward.&amp;quot;

MS cannot eat their own dogfood, but it is on our plates. The JIT compiler simply does not make sense for client side apps. Nor does it make sense for tiny devices such as the PocketPC. I can understand how small bits of code downloaded from the internet need JIT compiling for security. But to compile every installed client app, every time it is run, and to throw away the results: such a wasteful process (by default) throws us into the pit of failure! Also loading the IL when only the native code and metadata is needed, in an ngened app, makes no sense. Why does MS release and recommend technology that is not good enough for its own applications?
</description></item><item><title>RE: The Pit of Success</title><link>http://blogs.msdn.com/brada/archive/2003/10/02/50420.aspx#50430</link><pubDate>Wed, 15 Oct 2003 05:05:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:50430</guid><dc:creator>Anonymous MS Developer</dc:creator><description>
I think you'll find that managed code is being used in many more places as time goes on, there is a ramp-up time and no one thinks that rewriting an application for the fun of it is the best solution. 

The CLR team is doing some amazing things to improve perf and working set dramatically. Even then, it's not appropriate for all cases. 

The truth is that some things will remain unmanaged for a long time. But it's also true that many of the new features you see in new Microsoft products will be managed code. Yukon, Longhorn, WinFS, Avalon, Indigo - these all revolve around managed code. It's incredible the amount of investment there is.

Good suggestions for doing NGEN; but as the Headtrax example shows, NGEN doesn't always help, and sometimes can hurt. 

Your focus on 'big' client apps may be misplaced; if anything a nice model is developing where a smaller amount of code mixed in with declarative programming (ASP.Net) is the sweet spot of development. Often, users want components that fit into a larger experience, rather than an all-encompassing experience on its own. Not every application is Office or Photoshop. If the cost of loading the CLR is already paid by the host application, the marginal cost of JIT for a component isn't too bad. 
</description></item><item><title>RE: The Pit of Success</title><link>http://blogs.msdn.com/brada/archive/2003/10/02/50420.aspx#50431</link><pubDate>Sun, 26 Oct 2003 15:59:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:50431</guid><dc:creator>Frank Hileman</dc:creator><description>Thank you for the response, anonymous. I was not only focusing on big client apps. If you look at the perf and windows forms newsgroups you will see a common  complaint: the old app, ported to .net, starts up too slow. Often the problem is the jit on the designer generated code. Another common problem is the number of and size of dlls loaded. Even small apps often start up slowly compared to older C++ versions.

Is the solution profiling, possibly ngen, and reworking the app? This is the only solution currently, but it is contrary to the &amp;quot;pit of success&amp;quot; idea at the top of this page.

I don't believe there must be a trade-off. We should be able to use managed code and not have to think about performance any more than with a C++ app -- that is, focus on algorithms and data structures, not jit compile time. If something is jit once, it should be saved, and reused next time. Or ngen should be the default for desktop apps. Managed code is a great thing, but if the perf problems are not addressed, for client apps it may gradually aquire a reputation similar to that of Java client side code: slow and fat.

I think managed code has the potential to replace almost all application code. Not all OS code, or games, but almost everywhere C or C++ is used. A real focus on perfomance and the idea of the &amp;quot;pit of success&amp;quot;, by MS, would take it in that direction.</description></item><item><title>The trick with params</title><link>http://blogs.msdn.com/brada/archive/2003/10/02/50420.aspx#65455</link><pubDate>Sat, 31 Jan 2004 10:18:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:65455</guid><dc:creator>Brad Abrams </dc:creator><description /></item><item><title>re: More Discussion of SOA is like the Night Sky...</title><link>http://blogs.msdn.com/brada/archive/2003/10/02/50420.aspx#97069</link><pubDate>Sat, 27 Mar 2004 00:04:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:97069</guid><dc:creator>PatHelland's WebLog</dc:creator><description /></item><item><title> Filestream and BufferedStream</title><link>http://blogs.msdn.com/brada/archive/2003/10/02/50420.aspx#114330</link><pubDate>Fri, 16 Apr 2004 05:51:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:114330</guid><dc:creator>Brad Abrams </dc:creator><description /></item><item><title>DateTime woes and </title><link>http://blogs.msdn.com/brada/archive/2003/10/02/50420.aspx#143039</link><pubDate>Thu, 27 May 2004 17:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:143039</guid><dc:creator>Lance's Whiteboard</dc:creator><description /></item><item><title>A reminder as we start detailed design and implementation...</title><link>http://blogs.msdn.com/brada/archive/2003/10/02/50420.aspx#592974</link><pubDate>Tue, 09 May 2006 06:26:43 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:592974</guid><dc:creator>Brad Abrams </dc:creator><description>My team is starting detailed design and implementation work over the next week or so and I know of few...</description></item><item><title>Serializing Objects as JavaScript using Atlas, JSON.NET and AjaxPro</title><link>http://blogs.msdn.com/brada/archive/2003/10/02/50420.aspx#656576</link><pubDate>Wed, 05 Jul 2006 08:01:25 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:656576</guid><dc:creator>ComputerZen.com - Scott Hanselman</dc:creator><description /></item><item><title>Performance: You are only as good as your measurements</title><link>http://blogs.msdn.com/brada/archive/2003/10/02/50420.aspx#689729</link><pubDate>Sun, 06 Aug 2006 00:41:12 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:689729</guid><dc:creator>Brad Abrams </dc:creator><description> I recently had a fun time baking cookies with my three year old son.. He had a great time scooping out...</description></item><item><title>(转)Serializing Objects as JavaScript using Atlas, JSON.NET and AjaxPro </title><link>http://blogs.msdn.com/brada/archive/2003/10/02/50420.aspx#702128</link><pubDate>Wed, 16 Aug 2006 09:18:42 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:702128</guid><dc:creator>若有若雾</dc:creator><description>转自 &amp;nbsp; &amp;nbsp;&lt;a rel="nofollow" target="_new" href="http://www.hanselman.com/blog/"&gt;http://www.hanselman.com/blog/&lt;/a&gt; </description></item><item><title>(转)Serializing Objects as JavaScript using Atlas, JSON.NET and AjaxPro </title><link>http://blogs.msdn.com/brada/archive/2003/10/02/50420.aspx#702129</link><pubDate>Wed, 16 Aug 2006 09:20:57 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:702129</guid><dc:creator>若有若雾</dc:creator><description>转自&lt;a rel="nofollow" target="_new" href="http://www.hanselman.com/blog/"&gt;http://www.hanselman.com/blog/&lt;/a&gt;</description></item><item><title>Sasha Sydoruk  &amp;raquo; Blog Archive   &amp;raquo; Code Access Security - It is not easy&amp;#8230;</title><link>http://blogs.msdn.com/brada/archive/2003/10/02/50420.aspx#747599</link><pubDate>Sat, 09 Sep 2006 10:58:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:747599</guid><dc:creator>Sasha Sydoruk  » Blog Archive   » Code Access Security - It is not easy…</dc:creator><description>PingBack from &lt;a rel="nofollow" target="_new" href="http://www.sashasydoruk.com/?p=30"&gt;http://www.sashasydoruk.com/?p=30&lt;/a&gt;</description></item><item><title>Will My Software Project Fail?</title><link>http://blogs.msdn.com/brada/archive/2003/10/02/50420.aspx#4022894</link><pubDate>Tue, 24 Jul 2007 10:16:57 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4022894</guid><dc:creator>Programming</dc:creator><description>&lt;p&gt;Most software projects fail . But that doesn&amp;amp;#39;t mean yours has to. The first question you should ask&lt;/p&gt;
</description></item><item><title>Falling Into The Pit of Success</title><link>http://blogs.msdn.com/brada/archive/2003/10/02/50420.aspx#4928991</link><pubDate>Sat, 15 Sep 2007 18:07:20 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4928991</guid><dc:creator>Programming</dc:creator><description>&lt;p&gt;Eric Lippert notes the perils of programming in C++ : I often think of C++ as my own personal Pit of&lt;/p&gt;
</description></item><item><title>  Falling Into The Pit of Success at  aoortic! dot com</title><link>http://blogs.msdn.com/brada/archive/2003/10/02/50420.aspx#4947113</link><pubDate>Mon, 17 Sep 2007 01:51:42 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4947113</guid><dc:creator>  Falling Into The Pit of Success at  aoortic! dot com</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://aoortic.com/?p=10011"&gt;http://aoortic.com/?p=10011&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>  Falling Into The Pit of Success at  aoortic! dot com</title><link>http://blogs.msdn.com/brada/archive/2003/10/02/50420.aspx#4947121</link><pubDate>Mon, 17 Sep 2007 01:52:17 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4947121</guid><dc:creator>  Falling Into The Pit of Success at  aoortic! dot com</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://aoortic.com/?p=10024"&gt;http://aoortic.com/?p=10024&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>  Falling Into The Pit of Success at  aoortic! dot com</title><link>http://blogs.msdn.com/brada/archive/2003/10/02/50420.aspx#4947139</link><pubDate>Mon, 17 Sep 2007 01:53:20 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4947139</guid><dc:creator>  Falling Into The Pit of Success at  aoortic! dot com</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://aoortic.com/?p=10038"&gt;http://aoortic.com/?p=10038&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>Software Architect&amp;#8217;s Site  &amp;raquo; Blog Archive   &amp;raquo; Falling Into The Pit of Success</title><link>http://blogs.msdn.com/brada/archive/2003/10/02/50420.aspx#4976629</link><pubDate>Tue, 18 Sep 2007 14:12:54 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4976629</guid><dc:creator>Software Architect’s Site  » Blog Archive   » Falling Into The Pit of Success</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://projects.akela.ro/portal/architectsblog/?p=104"&gt;http://projects.akela.ro/portal/architectsblog/?p=104&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>GloryFish.org  &amp;raquo; Blog Archive  &amp;raquo; A Broken Billboard</title><link>http://blogs.msdn.com/brada/archive/2003/10/02/50420.aspx#5016655</link><pubDate>Thu, 20 Sep 2007 22:11:14 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5016655</guid><dc:creator>GloryFish.org  » Blog Archive  » A Broken Billboard</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://gloryfish.org/a-broken-billboard/"&gt;http://gloryfish.org/a-broken-billboard/&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>Wes Maldonado:  Data Junkie &amp;raquo; Notes from Alistair Cockburn&amp;#8217;s Talk at the Seattle APLN Meeting</title><link>http://blogs.msdn.com/brada/archive/2003/10/02/50420.aspx#5472129</link><pubDate>Tue, 16 Oct 2007 18:27:05 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5472129</guid><dc:creator>Wes Maldonado:  Data Junkie » Notes from Alistair Cockburn’s Talk at the Seattle APLN Meeting</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://www.brokenbuild.com/blog/2007/10/16/notes-from-alistair-cockburns-talk-at-the-seattle-apln-meeting/"&gt;http://www.brokenbuild.com/blog/2007/10/16/notes-from-alistair-cockburns-talk-at-the-seattle-apln-meeting/&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>Coder Peon &amp;raquo; Flex API, le cas showHandCursor</title><link>http://blogs.msdn.com/brada/archive/2003/10/02/50420.aspx#6519595</link><pubDate>Sun, 25 Nov 2007 21:00:27 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6519595</guid><dc:creator>Coder Peon » Flex API, le cas showHandCursor</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://coderpeon.ovh.org/?p=41"&gt;http://coderpeon.ovh.org/?p=41&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>Garr Reynolds Wisdom, Part I &amp;laquo; Rowan Simpson</title><link>http://blogs.msdn.com/brada/archive/2003/10/02/50420.aspx#7217947</link><pubDate>Thu, 24 Jan 2008 10:39:10 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7217947</guid><dc:creator>Garr Reynolds Wisdom, Part I « Rowan Simpson</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://rowansimpson.com/2008/01/24/garr-reynolds-wisdom-part-i/"&gt;http://rowansimpson.com/2008/01/24/garr-reynolds-wisdom-part-i/&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>Notes on an inconsistent API </title><link>http://blogs.msdn.com/brada/archive/2003/10/02/50420.aspx#8352928</link><pubDate>Thu, 03 Apr 2008 05:45:47 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8352928</guid><dc:creator>Bill Blogs in C#</dc:creator><description>&lt;p&gt;When you design your API, make it easy to use and hard to misuse. Brad Abrams quotes Rico Mariani on&lt;/p&gt;
</description></item><item><title>Notes on an inconsistent API </title><link>http://blogs.msdn.com/brada/archive/2003/10/02/50420.aspx#8422664</link><pubDate>Thu, 24 Apr 2008 23:20:31 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8422664</guid><dc:creator>.Net World</dc:creator><description>&lt;p&gt;When you design your API, make it easy to use and hard to misuse. Brad Abrams quotes Rico Mariani on&lt;/p&gt;
</description></item><item><title>Scott Hanselman's Computer Zen - The Weekly Source Code 27 - Suck Less Libraries</title><link>http://blogs.msdn.com/brada/archive/2003/10/02/50420.aspx#8524800</link><pubDate>Wed, 21 May 2008 00:42:14 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8524800</guid><dc:creator>Scott Hanselman's Computer Zen - The Weekly Source Code 27 - Suck Less Libraries</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://www.hanselman.com/blog/TheWeeklySourceCode27SuckLessLibraries.aspx"&gt;http://www.hanselman.com/blog/TheWeeklySourceCode27SuckLessLibraries.aspx&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>The Weekly Source Code 27 - Suck Less Libraries</title><link>http://blogs.msdn.com/brada/archive/2003/10/02/50420.aspx#8524904</link><pubDate>Wed, 21 May 2008 01:05:26 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8524904</guid><dc:creator>ASPInsiders</dc:creator><description>&lt;p&gt;I've been getting more and more interested in how folks extend their applications using plugins and things.&lt;/p&gt;
</description></item><item><title>The Weekly Source Code 27 - Suck Less Libraries | Developer Home</title><link>http://blogs.msdn.com/brada/archive/2003/10/02/50420.aspx#8534720</link><pubDate>Fri, 23 May 2008 01:21:15 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8534720</guid><dc:creator>The Weekly Source Code 27 - Suck Less Libraries | Developer Home</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://www.wowgoldip.com/2008/05/22/the-weekly-source-code-27-suck-less-libraries/"&gt;http://www.wowgoldip.com/2008/05/22/the-weekly-source-code-27-suck-less-libraries/&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>  The Missing .NET #6: Version Tolerant Serialization | a geek trapped in a cool guy&amp;#8217;s body</title><link>http://blogs.msdn.com/brada/archive/2003/10/02/50420.aspx#8703405</link><pubDate>Mon, 07 Jul 2008 21:27:33 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8703405</guid><dc:creator>  The Missing .NET #6: Version Tolerant Serialization | a geek trapped in a cool guy&amp;#8217;s body</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://www.ageektrapped.com/blog/the-missing-net-6-version-tolerant-serialization/"&gt;http://www.ageektrapped.com/blog/the-missing-net-6-version-tolerant-serialization/&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>thinking in geek &amp;#8211;   ASP.NET == Usability disaster?</title><link>http://blogs.msdn.com/brada/archive/2003/10/02/50420.aspx#8968643</link><pubDate>Mon, 29 Sep 2008 12:24:41 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8968643</guid><dc:creator>thinking in geek &amp;#8211;   ASP.NET == Usability disaster?</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://joshrobb.com/blog/2007/09/29/aspnet-usability-disaster/"&gt;http://joshrobb.com/blog/2007/09/29/aspnet-usability-disaster/&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>Rhino Mocks 3.5 RTM</title><link>http://blogs.msdn.com/brada/archive/2003/10/02/50420.aspx#8977374</link><pubDate>Mon, 06 Oct 2008 04:20:01 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8977374</guid><dc:creator>Tim Barcz</dc:creator><description>&lt;p&gt;Yesterday Oren announced the release of RhinoMocks 3.5 .&amp;amp;#160; While the RC version has been out for&lt;/p&gt;
</description></item><item><title>Rhino Mocks 3.5 RTM</title><link>http://blogs.msdn.com/brada/archive/2003/10/02/50420.aspx#8990812</link><pubDate>Wed, 08 Oct 2008 09:17:18 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8990812</guid><dc:creator>Community Blogs</dc:creator><description>&lt;p&gt;Yesterday Oren announced the release of RhinoMocks 3.5 .&amp;amp;#160; While the RC version has been out for&lt;/p&gt;
</description></item><item><title>journal.stuffwithstuff.com  &amp;raquo; Blog Archive   &amp;raquo; &amp;#8220;Constrained Compound&amp;#8221; Design Pattern</title><link>http://blogs.msdn.com/brada/archive/2003/10/02/50420.aspx#9135559</link><pubDate>Mon, 24 Nov 2008 05:25:18 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9135559</guid><dc:creator>journal.stuffwithstuff.com  &amp;raquo; Blog Archive   &amp;raquo; &amp;#8220;Constrained Compound&amp;#8221; Design Pattern</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://journal.stuffwithstuff.com/2008/11/23/constrained-compound-design-pattern/"&gt;http://journal.stuffwithstuff.com/2008/11/23/constrained-compound-design-pattern/&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>Enabling success with opinionated architecture</title><link>http://blogs.msdn.com/brada/archive/2003/10/02/50420.aspx#9306352</link><pubDate>Mon, 12 Jan 2009 00:18:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9306352</guid><dc:creator>Jimmy Bogard</dc:creator><description>&lt;p&gt;One of my pet peeve questions I often see on various tech mailing lists is “How can I prevent situation&lt;/p&gt;
</description></item><item><title>Trying to extend the Asp.Net MVC (T4) item templates to create multiple files.</title><link>http://blogs.msdn.com/brada/archive/2003/10/02/50420.aspx#9398711</link><pubDate>Thu, 05 Feb 2009 18:04:39 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9398711</guid><dc:creator>Eric Hexter</dc:creator><description>&lt;p&gt;One of the features I was really excited about for the MVC RC was the template/Model based scaffolding&lt;/p&gt;
</description></item><item><title>Build an Image HotSpot Designer in Silverlight</title><link>http://blogs.msdn.com/brada/archive/2003/10/02/50420.aspx#9491063</link><pubDate>Thu, 19 Mar 2009 23:25:14 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9491063</guid><dc:creator>Community Blogs</dc:creator><description>&lt;p&gt;Note: This article is submitted by Damon Payne for Silverlight: Write and Win contest .Thanks a lot,&lt;/p&gt;
</description></item><item><title>Development and Integrity Management by Eli Lopian &amp;raquo; Managing the support</title><link>http://blogs.msdn.com/brada/archive/2003/10/02/50420.aspx#9587873</link><pubDate>Tue, 05 May 2009 09:26:06 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9587873</guid><dc:creator>Development and Integrity Management by Eli Lopian &amp;raquo; Managing the support</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://www.elilopian.com/2009/04/27/managing-the-support/"&gt;http://www.elilopian.com/2009/04/27/managing-the-support/&lt;/a&gt;&lt;/p&gt;
</description></item><item><title> Brad Abrams The Pit of Success | Indoor Grills</title><link>http://blogs.msdn.com/brada/archive/2003/10/02/50420.aspx#9689619</link><pubDate>Wed, 03 Jun 2009 09:16:33 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9689619</guid><dc:creator> Brad Abrams The Pit of Success | Indoor Grills</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://indoorgrillsrecipes.info/story.php?id=10504"&gt;http://indoorgrillsrecipes.info/story.php?id=10504&lt;/a&gt;&lt;/p&gt;
</description></item><item><title> Brad Abrams The Pit of Success | Green Tea Fat Burner</title><link>http://blogs.msdn.com/brada/archive/2003/10/02/50420.aspx#9706744</link><pubDate>Mon, 08 Jun 2009 05:29:37 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9706744</guid><dc:creator> Brad Abrams The Pit of Success | Green Tea Fat Burner</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://greenteafatburner.info/story.php?id=1227"&gt;http://greenteafatburner.info/story.php?id=1227&lt;/a&gt;&lt;/p&gt;
</description></item><item><title> Brad Abrams The Pit of Success | Toe Nail Fungus</title><link>http://blogs.msdn.com/brada/archive/2003/10/02/50420.aspx#9713477</link><pubDate>Tue, 09 Jun 2009 09:19:25 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9713477</guid><dc:creator> Brad Abrams The Pit of Success | Toe Nail Fungus</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://toenailfungusite.info/story.php?id=3365"&gt;http://toenailfungusite.info/story.php?id=3365&lt;/a&gt;&lt;/p&gt;
</description></item><item><title> Brad Abrams The Pit of Success | internet marketing tools</title><link>http://blogs.msdn.com/brada/archive/2003/10/02/50420.aspx#9758052</link><pubDate>Tue, 16 Jun 2009 07:24:44 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9758052</guid><dc:creator> Brad Abrams The Pit of Success | internet marketing tools</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://einternetmarketingtools.info/story.php?id=21746"&gt;http://einternetmarketingtools.info/story.php?id=21746&lt;/a&gt;&lt;/p&gt;
</description></item></channel></rss>