MSDN Magazine April 2012 - C++AMP, Kinect and Bacteria
Written by Mike James   
Tuesday, 03 April 2012

This month's MSDN Magazine is more cutting edge than usual with some parallel programming, Kinect, AI, bacterial algorithms, code generation and some Microsoft technologies.


If April's MSDN Magazine has a theme is is probably C++ AMP - but only because there are two articles on the topic. 

 A Code-Based Introduction to C++ AMP  is an introduction to the AMP Accelerated Massive Parallelism  technology includes with Visual Studio 11 - yes not all of the new features are about WinRT. C++ AMP is Microsoft's alternative to language extensions like  OpenCL which allow you to work with heterogeneous environments which mix CPU and GPU. C++ AMP is open specification and there could be other implementations in the future but for the moment it is tied to DirectX 11. This article does a reasonable job of introducing how a typical C++AMP program works but as the "Code-Based" part of the title suggest by showing you the code rather than describing the principles.

The big topic not introduced in the previous article is Tiling which is taken up in Introduction to Tiling in C++ AMP In C++ AMP, the most common and first step to dialing up performance gains to the next level is through a technique called tiling. This is essentially how to break the problem up into discrete blocks that can be handed out to each processor.


If you think Apple's Siri is the cutting edge you need to see project Lily, a Kinect-enabled WPF application that aims to create a virtual office assistant. It started out as a student project but it's such a good idea that it would be a shame to drop it.  In this part of the description Context-Aware Dialogue with Kinect, there is a promised second part for next month, focuses on speech recognition and a simple trick of maintaining a state to narrow down the likely phrases to be used. From the programmers point of view the audio aspects of the Kinect are relatively neglected. Next month the article is to focus on using the depth camera. It is a good article, read if for inspiration.

Code generation isn't something that a lot of programmers need to get involved with but if you are interested in the Domain Specific Language (DSL) approach to applications then you can't avoid it. Lowering the Barriers to Code Generation with T4  explains how the T4 toolkit makes it easier. The article explains how to  build, implement, and debug code generation and how to recognize situations where it might be useful.


.NET rumbles on even if Microsoft's headline attention is on WinRT and a return to native code. One of the main reasons for the attraction to native code is that it is faster so it's good to read An Overview of Performance Improvements in .NET 4.5 to discover that even managed code can go faster. The article includes a rundown of upcoming performance improvements in the .NET Framework 4.5 that affect the CLR, ASP.NET, ADO.NET, Entity Framework and more.

Talking of headlines the article that sits top of the contents list this month is Using CSS3 Media Queries to Build a More Responsive Web. 

This is a fairly standard explanation of how to use the media queries to format the UI to suit the display device. This is well explained but it isn't particularly Microsoft specific and given it's HTML5 it really shouldn't be. If you don't know about media queries then its a good introduction.

Finally we have an article on BizTalk Batching EDI Data in BizTalk Server 2010 - which will apeal to the handful of BizTalk programmers who read MSDN Magazine and one on Integrating Windows Workflow Foundation with the OpenXML SDK.


Notable among the regular columns is Test Run:Bacterial Foraging Optimization which describes and illustrates a nice "swarm" style algorithm for finding a maximum. If you think ant optimization is about as low as it can go on the evolutionary scale you need to find out how bacteria behave.


Other interesting articles include Dino Exposito on Long Polling and SignalR which looks at the HTTP protocol and how to get more out of it.  After looking at streaming audio Charles Petzold move on to actually generating music Musical Instruments for Windows Phone, In this case the instrument is a Theremin which you can play by touch.



Other articles including web only content that you might find interesting are:

Let Power Users Create Their Own OData Feeds

Using JsRender with JavaScript and HTML

Manage Data in HTML5 Forms with Entity Framework

Consume a LightSwitch OData Service from a Windows Phone application

Test Automation Using Visual Studio 2010 Coded UI

Overall a better issue of MSDN Magazine than previous months - more cutting edge and more oriented towards MS technology.


More Information

MSDN Magazine

Related Articles

MSDN Magazine March 2012 - What Do You Want to Read?

MSDN Magazine February 2012 - Asynchronous Programming, WP7 and MVC

MSDN Magazine January 2011 - Windows Phone 7






or email your comment to:


To be informed about new articles on I Programmer, subscribe to the RSS feed, follow us on Google+, Twitter, Linkedin or Facebook or sign up for our weekly newsletter.


TigerGraph 3.2 Improves Scalability And Security

TigerGraph has been updated with new availability, scalability, manageability, and security features that the team says will ensure mission-critical graph applications work flawlessly in both private  [ ... ]

GitLab Adds Security Scan Policies

GitLab, the web-based repository manager for Git, has been updated with improvements including project-level security scan execution policies and improved SAST to reduce Ruby false positives. GitLab p [ ... ]

More News


Last Updated ( Tuesday, 03 April 2012 )