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

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

Next>