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 pretty much what I have been working on for the last year and a half. It feels great to finally be able to talk about it. I will blog more about the details after I am back from my…

1

Nourishing Creativity

For those who haven’t heard about it, TED is a multidisciplinary conference for experts from technology, entertainment, and design industries. They just updated their web site and while browsing around it I found this very interesting presentation about creativity by Ken Robinson. One of the main points Ken makes is that penalizing people for failing…


Effective Presentation Skills

I just watched a very interesting presentation. The content of the presentation is interesting, but not very relevant to the work software engineers do. The super interesting and relevant part is that it’s one of the best presentations I have ever seen in terms of the mechanics of presenting, and I think all who do presentations can learn a lot…

6

How to Design Exception Hierarchies

I still get a lot of questions on how to design exception hierarchies, despite several attempts to describe it in talks, the FDG book, and in posts on this blog. Maybe the guidance gets lots in the in the complexities of the full guidance surrounding exception handling or I am a bad communicator. Let me…

14

.NET Framework Performance Signatures

I love Rico’s performance quizzes in general, but the last one has something especially interesting: a link to a file listing all members in the Framework and their estimated performance signatures (perf characteristic based on the number of allocations in the member). Now, I only wish I had an fxcop rule warning me when I…

5

Clearing Enum Flags

UPDATE: It looks like I am confusing a lot of people with this article. I wanted to write an article about something else than the title suggests (how flags enum are built) but I did not explain it well and what’s more important I forgot to mention the most important thing: how to simply clear…

4

Synchronization at the Right Level

I get a lot of questions about why the new generic collection interfaces (IList<T> for example) do not support synchronization. There are several reasons for it. One, probably the main, is that in practice synchronizing on the level of a single data structure is rarely useful. Rico explains this in a series of posts on…

2

Workflow Application Model

I just found a very interesting blog written by Dave Green (an architect of the Windows Workflow Foundation). One of the posts explains the main motivations for creating a workflow framework. In general I am a big fan of the work this team has done. I believe WWF will become the main application model for…


Framework Design Guidelines book went to print

I have just heard from the publisher that the Framework Design Guidelines book just went to print. To celebrate and to thank for the contributions, I thought I would blog the list of people who provided annotations for the book: Brad Abrams, Mark Alcazar, Chris Anderson, Christopher Brumme, Jason Clark, Steven Clarke, Joe Duffy, Patrick…

5

Listing of Managed Processes

I just discovered a cool way of listing all processes that run managed code.    using System.Diagnostics; using System;   class Program {       static void Test() {         PerformanceCounterCategory clr = new PerformanceCounterCategory(“.NET CLR Memory”);         foreach(string process in clr.GetInstanceNames()) {             if(process != “_Global_”) {                 Console.WriteLine(process);             }         }    …

24