Monthly Archives: October 2013

Modern C++ Concurrency – Now on Pluralsight!

My latest Pluralsight course is now available: Modern C++ Concurrency

This course is about the practical application of the modern C++ language to the field of concurrency or concurrent programming.

Need more convincing? This course will introduce you to modern C++ concurrency on the Windows operating system. Unfortunately, standard or portable concurrency is still in its infancy so a comprehensive study of concurrency cannot get away from the practical and platform-specific aspects of the craft. As such, this course uses the Windows operating system as the playground to explore concurrency in C++. This course will prepare you with a deep understanding of threads and synchronization at the OS level, including modern synchronization primitives such as slim reader/writer locks and condition variables. You will learn all about the mighty Windows thread pool API and the Concurrency Runtime. Finally, you will be introduced to some of the shortcomings that plague the C++11 Thread Support Library.

Go and watch it now!

If you’d like to follow along you can download the exercise files or simply grab handle.h and debug.h from

Have you missed one of my previous courses? Master the essentials of COM, DirectX with C++, and even C programming!

Rendering for the Windows Runtime

My latest column in the October 2013 issue of MSDN Magazine is now available online.

This month, I’ll show you how to take this basic skeleton and add support for rendering. The WinRT application model is optimized for rendering with DirectX. I’ll show you how to take what you’ve learned in my previous columns about Direct2D and Direct3D rendering and apply it to your CoreWindow-based WinRT app—specifically using Direct2D 1.1, via the dx.h library. For the most part, the actual Direct2D and Direct3D drawing commands you’ll need to write are the same regardless of whether you’re targeting the desktop or the Windows Runtime. There are, however, some minor differences, and certainly getting it all hooked up in the first place is quite different. So I’ll pick up where I left off last time and show you how to get some pixels on the screen!

Have you missed one of my previous courses? Master the essentials of COM, DirectX with C++, and even C programming!

You can also find me on Twitter at