Wait Chain Traversal in Windows 7 Resource Monitor

April 18, 2009

I blogged about wait chain traversal (WCT) a while ago – we’ve seen that it’s quite a useful tool for analyzing system-wide synchronization issues such as multi-process deadlocks, and might actually be useful for intra-process analysis as well.  What I regretted ever since is that there was no Microsoft tool for displaying WCT information, except for some rarely-cooked MSDN samples. This comes to an end with the Windows 7 Resource Monitor.  By the way, if you haven’t been introduced: Reader, Resource Monitor.  Resource Monitor, Reader.  Great, now that you’ve made the acquaintance, you can take it from here...
one comment

Workflow Savepoints

April 5, 2009

Transaction scopes are a natural part of Windows Workflow Foundation; they provide transactional semantics to a set of activities bound together by their enclosing scope.  The transaction scope provides ACID semantics to a group of workflow operations, ensuring that they abort as a group or succeed as a group, but not otherwise. Out-of-the-box, however, the usability of workflow transaction scopes (at least for my recent application) was fairly low.  When a transaction rolls back within a transaction scope, its owning workflow is brutally terminated by default, removing its state information from the workflow persistence service.  Effectively, when a...
no comments

WCF Namespace Mismatch

A couple of days ago I have been bitten by an (really stupid, in hindsight) error when working with WCF services.  I had a service and a client set up to use a contract using a contract link (see my post from a few months ago about using contract links as a replacement for service references). For some reason, I couldn’t get any data transmitted from the client to the service.  Everything worked great and there were no exceptions, the bindings seemed to be absolutely identical, the contract was the same contract and even the request message on...

Concurrent Programming MSDN Event

April 4, 2009

Last Monday (March 30) I had the pleasure of presenting an MSDN event at Microsoft Raanana on the subject of Concurrent Programming.  The idea was to show the design patterns, methodology and fundamentals of concurrency and parallelism in applications. An opening line (which I also used for the summary) which I really liked was along the lines of “we’ve been resisting object-oriented programming 20 years ago, so it’s only natural that we resist concurrent programming now”.  I really think that, given the design patterns, architectural differences and programming style imposed by concurrent applications, the paradigm shift expecting all...

I’m a Microsoft MVP!

April 1, 2009

Two hours ago, I received an email presenting me with the Microsoft MVP award!  The award is given for sharing expertise with the online and offline developer community, which is what I have been doing (or at least trying to do) for the last couple of years through this blog, through online forums and through my consulting and training work.  (Here’s my MVP profile.) I am very honored to be an MVP, and I give you my word that I will strive to continue contributing to the online and offline developer community in Israel and abroad. ...