From C# to C++: Creating a blog demo project – coding style rules

Like I mentioned in my previous post, for the last months I had to change my programming language from C# to C++. To show you some of the things that surprised me in the process, I will write a short series of blog posts to emphasize the scenarios and the issues. The code samples show…

2

Back to C++: From managed to native

The project I’ve been working on for the last several months is using native C++. Since I haven’t employed C++ in a long time (since school, to be precise), I had to “relearn” the language. As expected, the language grew a lot since last I was acquainted with it, and I was impressed with the…

2

Optimize for the Hot path

The Pareto principle (also known as the 80-20 rule, the law of the vital few, and the principle of factor sparsity) states that, for many events, roughly 80% of the effects come from 20% of the causes. This applies to programming as well: 80% of the people use 20% of the features, 80% of the…


[Multithreading] Asynchronous Sleep in Distributed applications

Scenario: You have to design and implement a distributed application where a lot of clients call different operations in parallel. In certain situations, in order to make the system behave better, you need to delay some operations. Some examples where this can be useful: – The distributed system encounters a problem and you have a…


Explorer crash when installing Windows Live – How do you bring it back?

For quite a while I’ve been using Live Writer to edit and publish blogs and I am quite satisfied with it (there are some quirks, no doubt about it, but it mostly works). I recently tried to install Live Writer on my newest Win7 box and I had a most unpleasant experience. First, the installer…


WCF Communication Objects states Cheat Sheet

WCF is all about communication objects – channels, listeners, factories, all implement the ICommunicationObject interface (some through the CommunicationObject class). This provides a base implementation for the basic state machine states and transitions common to all communication-oriented object. At any given point in time, the communication objects find themselves in a CommunicationState. Here is a…

1

Microsoft Women’s Leadership and Development Conference

Every other year, Microsoft organizes a conference for women. Why? Because it recognizes that women more than men feel the need to get inspired by listening to some sessions oriented towards the emotional space and, more to the point, women feel the need to talk to other women, find out what issues those women have…


ETW (Event Tracing For Windows) – what it is and useful tools

Event Tracing for Windows is the standard way to trace used by all features of Windows. Like the article Improve Debugging And Performance Tuning With ETW explains, ETW is “a general-purpose, high-speed tracing facility provided by the operating system. Using a buffering and logging mechanism implemented in the kernel, ETW provides a tracing mechanism for…

1

Design patterns: How do you notify components about events that happen in different components?

I recently had to solve these kind of requirements: some components execute actions and at some point in time need to notify other components that certain events happened, so the other components can execute code related to these events. For example, class A executes method ChangeStateOfObjectX, and needs to notify class B when X is…


.NET Framework 4.0 implements WS-Discovery

The .NET Framework 4.0 and Visual Studio 2010 Beta 1 are live. If you haven’t tried the bits, do so and give the team feedback. There are some very cool features added – just take a look at the highlights. On the Communications front, Windows Communication Foundation has 3 major new features: support for WS-Discovery,…

1