Krzysztof Cwalina
Designing Reusable Frameworks
Portable Library Tools Release
We just released the official version of the Portable Library Tools. The set of tools and updates to...
Date: 06/15/2011
MEF Primitives Explained
Daniel just wrote a really nice post explaining the basics of MEF primitives. I recommend this to...
Date: 06/09/2009
Custom Programming Models for MEF (Provider Model Contrib)
The MEF composition engine operates on (composes) abstractions called ComposableParts. By default,...
Date: 03/03/2009
MEF Preview #4 Released
We have just released a new update to MEF. I am super excited about this release as it represents...
Date: 01/27/2009
PDC 2008 Talk: Framework Design Guidelines
Our PDC talk has been posted on Channel9. https://channel9.msdn.com/pdc2008/PC58/. Here is the talk...
Date: 10/30/2008
Framework Design Guidelines Videos
Brad and I just did a couple of video interviews that are now accessible online. In the first one,...
Date: 10/27/2008
MEF on CodePlex
We have just released an update to MEF. You can get it at https://www.codeplex.com/MEF The changes...
Date: 09/05/2008
Extensible Framework Design Studio Released
This summer we had a high school intern, Nick Moloney, who worked on incorporating MEF into FDS. The...
Date: 08/30/2008
API Design Myth: Exceptions are for "Exceptional Errors"
I was updating FDG section on exceptions. I added one anntation that I thought I would post here as...
Date: 07/17/2008
Nullable Usage Guidelines
These guidelines were just added as part of an update to the Framework Design Guidelines book...
Date: 07/16/2008
POCO Support for MEF
Jason, our technical evangelist, just posted a sample showing how MEF can compose plain old CLR...
Date: 07/07/2008
MEF and System.AddIns
Several people asked about the relationship between MEF and the technology in System.AddIn...
Date: 06/13/2008
MEF CTP 1 Released
Several members of my team have already spilled the beans, but yes (!) we just released our first...
Date: 06/05/2008
Managed Extensibility Framework
Several months ago we formed what we call Application Framework Core team. The charter of the team...
Date: 04/25/2008
Framework Design Guidelines Digest v2
Almost 4 years ago, I blogged about Framework Design Guidelines Digest. At that time, my blog engine...
Date: 04/09/2008
Framework Design Studio Released
When I was coming back from Mix 2007, I was bored on the plane and so started to write a dev tool....
Date: 04/04/2008
Simulated Covariance for .NET Generics
I just wrote this pattern, but I am not sure if I should add it officially to the Framework Design...
Date: 04/02/2008
Job Openings on the .NET Framework Core Team
We have been incubating ideas about building a simple extensibility framework for some time. Now, as...
Date: 03/14/2008
LINQ Design Guidelines
Mircea, a program manager on my team, has worked on development of design guidelines for LINQ...
Date: 03/13/2008
Video Recording of "Framework Engineering: Architecting, Designing, and Developing Reusable Libraries"
I just received a video recording of a talk I did at the last TechEd. You can find the abstract...
Date: 01/08/2008
Framework Design Guidelines 2nd Edition
My blog was relatively silent for several weeks. First, I was traveling to Europe for the TechEd,...
Date: 01/03/2008
FxCop Rule for Multi-Targeting
Two months ago, Scott blogged about the multi-targeting support in Visual Studio 2008. I worked on...
Date: 10/02/2007
China Trip
Sorry for not blogging for such a long time. First I was on a combined business/vacations trip to...
Date: 10/02/2007
Duck Notation
I have been working with the C# and VB teams on design guidelines for LINQ. We started to talk about...
Date: 07/18/2007
How to Fight Complexity in Software (part I)
A couple of weeks ago, Grady Booch gave a lecture at Microsoft. It was a pleasure to hear of my...
Date: 07/17/2007
FxCop Designers Honored with the Chairman's Award
Last week, during the annual Engineering Excellence week, several Microsoft engineers and managers...
Date: 07/03/2007
Generic Methods as Casts
Somebody just asked me which of the following API design alternatives is better. They both do what...
Date: 06/07/2007
Framework design lecture avaliable for download
I have good news for all who asked about an off line version of the API design lecture I blogged...
Date: 06/01/2007
Silverlight - Program the Web the Way YOU Want It
I just came back from Mix where we announced details of Silverlight’s programming model. This is...
Date: 05/05/2007
Nullable usage guideline
I am starting to work on some updates to the framework design guidelines related to new framework...
Date: 04/27/2007
Nourishing Creativity
For those who haven’t heard about it, TED is a multidisciplinary conference for experts from...
Date: 04/24/2007
Online lecture on API design
I gave a lecture on framework design at the Redmond’s Microsoft Research Center. They recorder and...
Date: 03/29/2007
Effective Presentation Skills
I just watched a very interesting presentation. The content of the presentation is interesting, but...
Date: 02/01/2007
How to Design Exception Hierarchies
I still get a lot of questions on how to design exception hierarchies, despite several attempts to...
Date: 01/30/2007
.NET Framework Performance Signatures
I love Rico’s performance quizzes in general, but the last one has something especially interesting:...
Date: 01/26/2007
System.TimeZone2 Naming ... and related design guidelines
There is an interesting discussion on the BCL blog about a new BCL type called TimeZone2. Just take...
Date: 10/06/2006
Clearing Enum Flags
UPDATE: It looks like I am confusing a lot of people with this article. I wanted to write an article...
Date: 08/29/2006
Poll: Attribute Design
I would like to run a quick poll. Which design do you prefer for a set of related attributes and...
Date: 08/24/2006
International Phonetic Alphabet
I am in Chicago at the Architecture and Design World, and today I went to a session on API design....
Date: 07/19/2006
Architecture & Design World 2006
I will attending Architecture & Design World next week where I hope to meet and chat with some...
Date: 07/10/2006
Choosing the Right Type of Exception to Throw
My last post about the ApplicationException resulted in some questions along the lines of “so, if...
Date: 07/05/2006
ApplicationException considered useless
We have a guideline that bans using the ApplicationException. Here is the related excerpt from the...
Date: 06/23/2006
Synchronization at the Right Level
I get a lot of questions about why the new generic collection interfaces (IList<T> for...
Date: 05/05/2006
Framewok Design Guidelines Wins Productivity Award
A couple of months ago, Brad blogged about the FDG book getting into the Jolt Award finals. The...
Date: 03/16/2006
Framework Design Humor by Benji Smith
Benji wrote a pretty funny article exposing one of the main problems with bad APIs: trying to enable...
Date: 03/09/2006
Extending System.Diagnostics tracing APIs
The April issue of the MSDN Magazine just went on line. It contains an article I wrote that...
Date: 03/08/2006
C5 Collections
Peter Sestoft and his team just released a library of collections for the CLI called C5 Collections....
Date: 02/20/2006
Code Query Language
Patrick Smacchia just released an alpha of an interesting application (NDepend) that can be used to...
Date: 02/15/2006