Channel 9 - Entries tagged with PDC 2009MicrosoftMicrosoftnohttps://sec.ch9.ms/content/feedimage.pngChannel 9 - Entries tagged with PDC 2009https://channel9.msdn.com/Tags/pdc2009
Channel 9 keeps you up to date with the latest news and behind the scenes info from Microsoft that developers love to keep up with. From LINQ to SilverLight – Watch videos and hear about all the cool technologies coming and the people behind them.https://channel9.msdn.com/Tags/pdc2009
enFri, 18 Aug 2017 05:21:07 GMTFri, 18 Aug 2017 05:21:07 GMTRev9101525Visual Studio 2010 Code Visualization ToolsVisual Studio 2010 is a fairly important release of the developer tool of choice for writing Windows applications. One of the important advancements in the new update is how it enables developers and architects to better visualize the assets and dependencies
through UML (Unified Modeling Language) diagrams.

In this episode, Cameron Skinner gives us a quick overview of how Visual Studio 2010’s new UML visualization tool's design might help you with better understanding the overall structure of your applications.

]]>https://channel9.msdn.com/Shows/The+Knowledge+Chamber/Visual-Studio-2010-Code-Visualization-Tools
Visual Studio 2010 is a fairly important release of the developer tool of choice for writing Windows applications. One of the important advancements in the new update is how it enables developers and architects to better visualize the assets and dependencies
through UML (Unified Modeling Language) diagrams.In this episode, Cameron Skinner gives us a quick overview of how Visual Studio 2010’s new UML visualization tool's design might help you with better understanding the overall structure of your applications.You may also find the following links useful:
PDC09: Code Visualization, UML, and DSLs
Cameron’s Blog
750https://channel9.msdn.com/Shows/The+Knowledge+Chamber/Visual-Studio-2010-Code-Visualization-Tools
Wed, 14 Apr 2010 16:00:00 GMThttps://channel9.msdn.com/Shows/The+Knowledge+Chamber/Visual-Studio-2010-Code-Visualization-ToolsRobert HessRobert Hess6https://channel9.msdn.com/Shows/The+Knowledge+Chamber/Visual-Studio-2010-Code-Visualization-Tools/RSSPDC09PDC 2009UMLVisual Studio 2010MindBlasterIn this article, Brian Peek describes his PDC 2009 project, an XNA game named MindBlaster which uses a Nintendo Wii Remote in conjunction with MindSet brain-wave sensing headset from Neurosky.

Introduction

Back in July of 2009 I learned of Neurosky's MindSet device via Engadget.com. The MindSet is a a brain-wave sensing headset costing only $200. I contacted the company and was placed on a short list to receive hardware when available to build a demo for PDC 2009. This is the result of that project.

MindBlaster is a pretty simple game written using XNA which runs on a Windows PC in conjunction with the MindSet headset and a Nintendo Wiimote. The object of the game is to move your head, which moves a targeting reticule on the screen, to aim at enemy alien ships, then focus your concentration on the selected ship to heat it up and eventually make it explode. The more you focus, the faster the alien ship explodes. As more enemies are destroyed, they faster they fire back at you, causing a pretty frenetic gameplay experience until the onslaught becomes too much and you are destroyed.

So let's take a look at some of the components that went into creating MindBlaster and how the integrate into the final game.

MindSet Headset

As stated, the Mindset is a headset from Neurosky that is capable of reading alpha, beta, theta and gamma brain waves via 4 dry sensors, 3 located on the left earpiece, and one on an arm that touches the forehead. In addition, the device contains a microphone and ear speakers, making it a full-on audio headset as well.

This device connects to a PC via Bluetooth and shows up as a Bluetooth serial port. This means we can communicate with the device extremely easily. However, Neurosky also includes their own API with a simple C# wrapper that makes .NET development even easier. On top of that, I wrote a simple API which somewhat mimics my Managed Wiimote Library, which is available as a separate download from this application to make .NET development with the Mindset a bit easier.

One of the interesting things about the MindSet is that you don't actually need to know what brain-waves are or how they work. I don't know the difference between an alpha wave and a theta wave, but I was still able to produce a decent game using brain waves. Neurosky has developed a proprietary algorithm which takes your brain-wave values and turns them into a single score from 1 to 100 of “attention” and “meditation” allowing you can very easily determine how hard a person is concentrating or relaxing.

Using the provided API is pretty simple. Here is a chunk of code that connects to the headset and pulls brain-wave values in a loop. You wouldn't want to use this directly in your application, but it covers the important points:

This opens a connection ID with the API, opens a connection to the headset on a provided COM port, then, in a loop, reads all available packets from the headset and retrieves the current state of the values requested.

I have created a very simple library which interfaces with the headset and put it up as a separate download. If you're just interested in using this headset with .NET, please have a look at my ThinkGearNET library.

Wiimote

A Nintendo Wiimote is strapped upside-down to the top of the headset and its IR camera is used for 2D head tracking. For PDC, I removed the Wiimote's guts from its case and mounted them directly to the headset, adding a battery holder box from Radio Shack. This isn't really necessary, and you can just mount your own cased Wiimote on top.

The Wimote contains a 1024x768 camera which can detect the positions of up to 4 IR sources. For this application, I only needed a single IR source since rotation is unimportant. I used the Nyko Wireless Sensor Bar for this source with one side covered in electrical tape.

Using my Managed Wiimote Library, I am able to poll the current state of the IR camera to pull the XY position of the IR source and translate that to the position of the targeting reticule on the screen.

Game Architecture

The game uses parts of the XNA Creators Club Game State Management sample for the overall game and screen architecture. Each screen is broken out into its own object with its own Update, Draw, LoadContent, etc. methods. This allows the title screen, settings screen, gameplay screen, and final scoring screen to remain separate “entities” for easier development.

Let's talk a little bit about each screen and important points for each.

Settings Screen

While developing at home and demonstrating this at PDC, I needed a very quick and dirty settings screen to easily enable and disable various features of the game. For example, I really didn't want to wear the headset the entire time I was developing, so I wrote some code which allowed me to use the mouse in place of the actual hardware. The settings screen allowed me to easily toggle those types of things. This was accomplished by creating an object that inherits from the MenuScreen class from the Game State Management sample. Menu entries can be then created as follows:

This creates the entry, sets its event handler, and adds it to the list. In the event handler, you can do whatever might be required; toggle an option on or off, increase or decrease a value, etc.

Title Screen

The title screen doesn't do much other than display the title graphic and the “Press Start” text, or any additional text noting if the headset is detached, the Wiimote is not connected, or other error conditions.

Gameplay Screen

This is where the magic happens. Perhaps surprisingly, there isn't a ton of code in the GamePlayScreen.cs file itself. The logic for the game is quite simple: move the targetting reticule based on the Wiimote IR position, detect if it's over an enemy, if it is, remove hitpoints from the enemy, and if the hitpoints drop below 0, blow up the enemy. In addition, the enemies fly around the screen and fire missiles at the player. Let's break down some of these elements.

Enemies

Every drawable object in the game derives from the Drawable2D or Drawable3D base classes. These classes define some simple properties like position, origin, scale, etc. and provide some methods which must be implemented by the derived classes, like LoadContent, Update and Draw, matching the architecture of a standard XNA application. Here is what the Drawable2D class looks like:

The Drawable3D class looks almost identical to this, but moves everything to 3D space using Vector3 to denote positions. It also includes a Model property to hold the geometry of the object, and a property to hold the current World transformation matrix.

The enemy ships and missiles were modeled in 3D Studio Max and exported to the .X file format to be used with the XNA Content Pipeline by kW X-port, a free plugin for 3D Studio Max that can export models and animations to the .X format with a variety of user-controllable options.

Rotate and fly

If you've played the game or watched the video above, you've seen how the enemies rotate toward a position, fly to that position, and then rotate back toward the camera. To make the ships behave in this way, a random position in 3D space is calculated. Then the following code is run to rotate the ship to that position:

This code uses some vector math to get the direction the random point is in relation to the current ship orientation. The rotation angle is then calculated, the axis to actually rotate on depending on the location, and finally a rotation matrix is calculated and returned.

This returned rotation matrix is used to rotate the ship over a short period of time using the Vector3.SmoothStep method, which interpolates between two values using a cubic equation. Once it has reached the target rotation, the ship then “smooth steps” to its destination position, then “smooth steps” back to being rotated toward the camera, using that same RotateToTarget method above, this time with the target position being the camera position.

Using XNA Samples

I used a few samples from the XNA Creators' Club in MindBlaster. I think there are some fabulous samples available on the site that make life easier for all XNA developers. I can't speak for everyone, but I'd rather pull out a known working, tested particle engine than spend the time to create one from scratch, especially on a deadline like I had for this project. Earlier in the article I explained how I used the Game State Management sample to provide the base screen architecture for my application. I also used its MenuScreen class to build my settings screen as described above.

Particle Engine

I also used the 2D particle engine from the NetRumble sample. While my game is really in 3D, I was able to use some trickery to throw a particle effect up on the screen in 2D space on top of the ship's location in 3D space which provide a reasonable looking effect.

The particle engine provides sample effects for various explosions and trails. I used these effects for the enemy ship exploding, the enemy ship firing missiles, and the enemy ship spawning into view.

To get the 2D screen-space position of a 3D object in world-space, I used the following method, which is part of the Drawable3D class:

This uses XNA's Viewport.Project method to return the 2D position of this 3D object using the current 3D position, the current camera projection matrix, and the camera's view matrix and turns it into a 2D point with no additional effort.

So, when an enemy ship explodes or a missile is fired, the 3D object's 2D position is calculated, and the 2D particle effect is displayed at that position.

The background Starfield was also taken from NetRumble. This is a single class file that can be was easily pulled right out of the sample code and plopped into any XNA application to give a very nice moveable background.

Bloom effect

The Bloom Postprocessor sample on the XNA Creators Club site provides a very easy to use bloom DrawableGameComponent. A DrawableGameComponent is a class which implements a few methods such as Update and Draw, and then added to the Game object's Component collection. During each frame, the appropriate methods are called and the object updates and draws.

Blooming is a neat effect that produces some artifacts caused by bright lights. Think of how your vision reacts when you walk from a dark room out into a bright sunny day. I use this effect throughout the game to give the ships a neat glowing effect as they heat up. Also, when an enemy missile hits the player's screen, I flash the screen white for a few milliseconds, and the bloom effect in combination with this produces a nice effect similar to staring at a bright light and then looking quickly looking at something dark as your eyes adjust to the light difference.

Using the BloomComponent is amazingly simple. In the game's Initialize method:

With this in place, the object does the rest by hooking into the drawing surfaces and applying the effect every frame. The sample includes several different bloom effects with varying parameters, so its easy to experiment with these values and see what works best for your game.

If you have turned off Wiimote support in the setup screen, the mouse can be used to move the targetting reticule.

If you have turned off headset support in the setup screen, the attention level can be increased/decreased with the left/right mouse buttons.

Move the reticule over an enemy and focus your attention on the enemy to make your attention score increase. The higher your attention score, the faster the enemy heats up and explodes. As you play, enemies will start to fire back at you. Move the reticule over the missiles and focus your attention to blow them up before they hit you.

Conclusion

There is obviously more to the game than what is seen here, however it would be impossible to cover every single bit of the code in an article here. I have tried to cover the important and more difficult parts here and show how it's very easy to leverage existing samples to get an XNA game up and running quickly.

If you have any questions or would like further explanation on how a certain portion of the game works, please contact us and I will be happy to answer the questions and perhaps expand the article further.

Thanks

Rick Barraza for the idea of moving the game into a space environment. Better than the road I was heading down…

Greg Hyver and Johnny Liu from Neurosky for getting me set up with headsets and providing loaners for PDC

Michelle Leavitt for an infinite amount of playtesting

The XNA folks who created the various tutorials and starter kits whose code saved me a ton of time in creating the game. Without these, I'd probably still be writing particle engines, bloom shaders and various other pieces from scratch….these are a huge time saver!

Bio

Brian is a Microsoft C# MVP who has been actively developing in .NET since its early betas in 2000, and who has been developing solutions using Microsoft technologies and platforms for even longer. Along with .NET, Brian is particularly skilled in the languages of C, C++ and assembly language for a variety of CPUs. He is also well-versed in a wide variety of technologies including web development, document imaging, GIS, graphics, game development, and hardware interfacing. Brian has a strong background in developing applications for the health-care industry, as well as developing solutions for portable devices, such as tablet PCs and PDAs. Additionally, Brian has co-authored the book "Coding4Fun: 10 .NET Programming Projects for Wiimote, YouTube, World of Warcraft, and More" published O'Reilly. He previously co-authored the book "Debugging ASP.NET" published by New Riders. Brian is also an author for MSDN's Coding4Fun website.

]]>https://channel9.msdn.com/coding4fun/articles/MindBlaster In this article, Brian Peek describes his PDC 2009 project, an XNA game named MindBlaster which uses a Nintendo Wii Remote in conjunction with MindSet brain-wave sensing headset from Neurosky. IntroductionBack in July of 2009 I learned of Neurosky's MindSet device via Engadget.com. The MindSet is a a brain-wave sensing headset costing only $200. I contacted the company and was placed on a short list to receive hardware when available to build a demo for PDC 2009. This is the result of that project. MindBlaster is a pretty simple game written using XNA which runs on a Windows PC in conjunction with the MindSet headset and a Nintendo Wiimote. The object of the game is to move your head, which moves a targeting reticule on the screen, to aim at enemy alien ships, then focus your concentration on the selected ship to heat it up and eventually make it explode. The more you focus, the faster the alien ship explodes. As more enemies are destroyed, they faster they fire back at you, causing a pretty frenetic gameplay experience until the onslaught becomes too much and you are destroyed. So let's take a look at some of the components that went into creating MindBlaster and how the integrate into the final game. MindSet HeadsetAs stated, the Mindset is a headset from Neurosky that is capable of reading alpha, beta, theta and gamma brain waves via 4 dry sensors, 3 located on the left earpiece, and one on an arm that touches the forehead. In addition, the device contains a microphone and ear speakers, making it a full-on audio headset as well. This device connects to a PC via Bluetooth and shows up as a Bluetooth serial port. This means we can communicate with the device extremely easily. However, Neurosky also includes their own API with a simple C# wrapper that makes .NET development even easier. On top of that, I wrote a simple API which somewhat mimics my Managed Wiimote Library, which is available as a separate download from this application to make .NET develophttps://channel9.msdn.com/coding4fun/articles/MindBlaster
Mon, 08 Mar 2010 17:00:00 GMThttps://channel9.msdn.com/coding4fun/articles/MindBlasterBrian PeekBrian Peek3https://channel9.msdn.com/coding4fun/articles/MindBlaster/RSSGamesHardwarePDC09PDC 2009XNAXNA frameworkMicrosoft Research: Tools to Help Resolve Concurrency ProblemsAt PDC09, Madan Musuvathi and Sebastian Burckhardt showed off some tools (“Cuzz” and “FeatherLite”) that Microsoft Research is currently working on that may one day assist developers in addressing concurrency issues they may be having in their application.
I’ve invited them to join me today to talk with us about some of the issues involved with tracking down concurrency problems, as well as how each tool works.

If you’d like more information about the tools they are working on, you may want to check out their PDC09 session, which is available here:

]]>https://channel9.msdn.com/Shows/The+Knowledge+Chamber/Microsoft-Research-Tools-to-help-resolve-concurrency-problemsIf you are developing multi-threaded applications, there is a possibility that you may be having concurrency problems, and these problems can be difficult to reproduce and identify.At PDC09, Madan Musuvathi and Sebastian Burckhardt showed off some tools (“Cuzz” and “FeatherLite”) that Microsoft Research is currently working on that may one day assist developers in addressing concurrency issues they may be having in their application.
I’ve invited them to join me today to talk with us about some of the issues involved with tracking down concurrency problems, as well as how each tool works.If you’d like more information about the tools they are working on, you may want to check out their PDC09 session, which is available here:
PDC09 Seminar:Concurrency Fuzzing &amp; Data Races
You can also find more details about what Madan and Sebastian are doing in Microsoft Research on the Microsoft Research Website:
Cuzz
FeatherLite
Madan Musuvathi
Sebastian Burckhardt
1016https://channel9.msdn.com/Shows/The+Knowledge+Chamber/Microsoft-Research-Tools-to-help-resolve-concurrency-problems
Fri, 05 Mar 2010 21:02:00 GMThttps://channel9.msdn.com/Shows/The+Knowledge+Chamber/Microsoft-Research-Tools-to-help-resolve-concurrency-problemsRobert HessRobert Hess3https://channel9.msdn.com/Shows/The+Knowledge+Chamber/Microsoft-Research-Tools-to-help-resolve-concurrency-problems/RSSConcurrencyMicrosoft ResearchMulti-CorePDC09PDC 2009RiSEGive Me a Side of Scrollbar. Supersized. Origami
Experience 2.0 pack from Microsoft. This incredibly helpful bit of bytes will allow you to optimize the chrome on your apps for fat fingers, with taller title bars, bigger Min|Max|Close buttons, and wider scrollbars. There's an option to put the touch
keyboard by the systray and enable a touch pointer.

Two other components of Origami Experience include Origami Now and Origami Central. Origami Now is kind of a gadget carousel that will let you create and rotate through tiles of things such as weather, clocks, calendars, email, lists, pictures, notes, and (pre-defined
& out-of-date) RSS feeds. Origami Central includes a fat finger friendly media player, web browser, and customizable program launcher.

Keep in mind this is UMPC/Vista code. Mileage may vary, caveat emptor, etc., etc. But I've used it on the PDC laptop without a hitch.
]]>https://channel9.msdn.com/Blogs/LarryLarsen/Give-Me-a-Side-of-Scrollbar-SupersizedLet's say you finally got your hands on a multitouch laptop, whether a PDC laptop, HP TX2, or something else. With the smaller screens, you might say to yourself, &quot;Hey, it's almost as if this scrollbar was made more for a mouse cursor than my fat greasy
finger.&quot; You're kind of right, but fortunately some fine minds at Microsoft had already thought about that. Recall the Origami
Experience 2.0 pack from Microsoft. This incredibly helpful bit of bytes will allow you to optimize the chrome on your apps for fat fingers, with taller title bars, bigger Min|Max|Close buttons, and wider scrollbars. There's an option to put the touch
keyboard by the systray and enable a touch pointer. Two other components of Origami Experience include Origami Now and Origami Central. Origami Now is kind of a gadget carousel that will let you create and rotate through tiles of things such as weather, clocks, calendars, email, lists, pictures, notes, and (pre-defined
&amp; out-of-date) RSS feeds. Origami Central includes a fat finger friendly media player, web browser, and customizable program launcher.
Keep in mind this is UMPC/Vista code. Mileage may vary, caveat emptor, etc., etc. But I've used it on the PDC laptop without a hitch.
https://channel9.msdn.com/Blogs/LarryLarsen/Give-Me-a-Side-of-Scrollbar-Supersized
Thu, 04 Mar 2010 06:24:00 GMThttps://channel9.msdn.com/Blogs/LarryLarsen/Give-Me-a-Side-of-Scrollbar-SupersizedLarry LarsenLarry Larsen2https://channel9.msdn.com/Blogs/LarryLarsen/Give-Me-a-Side-of-Scrollbar-Supersized/RSSMultitouchOrigamiPDC 2009Windows 7Multi TouchARCast.TV - Scalable Tax Solutions With CCH and Windows Azure While it's income season for most of us here in the States, for
CCH, a Wolters Kluwer business, serving up sales tax information is a full-time job. In this episode of ARCast,
Denny Boynton sits down with Jones Pavan and Gurleen Randhawa at the 2009 Professional Developers Conference to discuss their use of Windows Azure to build highly scalable solutions for their
customers.
]]>https://channel9.msdn.com/Shows/ARCast.TV/Scalable-Tax-Solutions-With-CCH-and-Windows-Azure
While it's income season for most of us here in the States, for
CCH, a Wolters Kluwer business, serving up sales tax information is a full-time job. In this episode of ARCast,
Denny Boynton sits down with Jones Pavan and Gurleen Randhawa at the 2009 Professional Developers Conference to discuss their use of Windows Azure to build highly scalable solutions for their
customers.
808https://channel9.msdn.com/Shows/ARCast.TV/Scalable-Tax-Solutions-With-CCH-and-Windows-Azure
Thu, 25 Feb 2010 17:34:00 GMThttps://channel9.msdn.com/Shows/ARCast.TV/Scalable-Tax-Solutions-With-CCH-and-Windows-AzureBob FamiliarBob Familiar0https://channel9.msdn.com/Shows/ARCast.TV/Scalable-Tax-Solutions-With-CCH-and-Windows-Azure/RSSARCastArchitectsArchitectureAzureCCHPDC 09PDC 2009ScalabilityThought LeadershipWindows AzureWolters KluwerCountdown to MIX10: Let's do it LiveNic Fillingham joins
@anyware and @ritzy this week to talk about Channel 9 Live at MIX10. A few months ago at the
PDC event, the Channel 9 team made history, broadcasting live from the show floor for almost the entire event, and they’ll do it again at
MIX. But you don’t have to wait until March to get in on the action. You can dialogue with the team now as they plan out their speaker lineup, and you can make requests about what and from whom
you want to hear. Follow
@ch9live on Twitter, or email them at
ch9live@microsoft.com, and tell them what you want to see as they, like us, serve at the pleasure of the Channel 9 community.
]]>https://channel9.msdn.com/Blogs/LauraFoy/Countdown-to-MIX10-Lets-do-it-Live
Nic Fillingham joins
@anyware and @ritzy this week to talk about Channel 9 Live at MIX10. A few months ago at the
PDC event, the Channel 9 team made history, broadcasting live from the show floor for almost the entire event, and they’ll do it again at
MIX. But you don’t have to wait until March to get in on the action. You can dialogue with the team now as they plan out their speaker lineup, and you can make requests about what and from whom
you want to hear. Follow
@ch9live on Twitter, or email them at
ch9live@microsoft.com, and tell them what you want to see as they, like us, serve at the pleasure of the Channel 9 community.
672https://channel9.msdn.com/Blogs/LauraFoy/Countdown-to-MIX10-Lets-do-it-Live
Thu, 11 Feb 2010 21:08:00 GMThttps://channel9.msdn.com/Blogs/LauraFoy/Countdown-to-MIX10-Lets-do-it-LiveLaura FoyLaura Foy9https://channel9.msdn.com/Blogs/LauraFoy/Countdown-to-MIX10-Lets-do-it-Live/RSSMIX10PDC09PDC 2009Brian Peek's PDC Laptop Leak Fixsource code here. Additionally, you can find more details and code samples on
Brian's blog. Keep in mind the suggested way to obtain drivers is through Windows Update, so your mileage may vary, caveat emptor, etc.
]]>https://channel9.msdn.com/Blogs/LarryLarsen/Brian-Peeks-PDC-Laptop-Leak-FixBrian Peek picked up a PDC Laptop on eBay and found that the latest accelerometer driver (v1.00.00.16) wasn't correctly closing handles, resulting in his machine having 5 million handles open. So he did what any self-respecting Niner would do, he disassembled
the code and created a fix. If you happen to have a PDC Laptop, you can download the application and the
source code here. Additionally, you can find more details and code samples on
Brian's blog. Keep in mind the suggested way to obtain drivers is through Windows Update, so your mileage may vary, caveat emptor, etc.
https://channel9.msdn.com/Blogs/LarryLarsen/Brian-Peeks-PDC-Laptop-Leak-Fix
Thu, 04 Feb 2010 21:48:00 GMThttps://channel9.msdn.com/Blogs/LarryLarsen/Brian-Peeks-PDC-Laptop-Leak-FixLarry LarsenLarry Larsen1https://channel9.msdn.com/Blogs/LarryLarsen/Brian-Peeks-PDC-Laptop-Leak-Fix/RSSPDC09PDC 2009ProgrammingTroubleshootingMulti-Core and Parallel Programming PracticesIn case you haven’t realized it, the new trend in computer chip technology is multi-core. This is where most of the speed improvements moving forward will come from on our computers. To take full advantage of this however it is necessary to design your applications
using Parallel Programming practices, also known as "parallelism".

In today’s episode, we will meet with Stephen Toub, who will share with us some of the overarching concepts associated with parallelism, and some of the ways we are trying to empower developers to develop applications to take advantage of it.

You may also want to check out Stephen’s presentation from PDC09 on this topic here:

]]>https://channel9.msdn.com/Shows/The+Knowledge+Chamber/Multi-Core-and-Parallel-Programming-Practices
In case you haven’t realized it, the new trend in computer chip technology is multi-core. This is where most of the speed improvements moving forward will come from on our computers. To take full advantage of this however it is necessary to design your applications
using Parallel Programming practices, also known as &quot;parallelism&quot;.In today’s episode, we will meet with Stephen Toub, who will share with us some of the overarching concepts associated with parallelism, and some of the ways we are trying to empower developers to develop applications to take advantage of it.You may also want to check out Stephen’s presentation from PDC09 on this topic here:
Manycore and .NET 4: A Match Made in Visual Studio 2010
And here is the full set of PDC09 sessions related to parallel programming practices:Overview:
The State of Parallel Programming
Managed code in Visual Studio 2010:
Manycore and .NET 4: A Match Made in Visual Studio 2010
PLINQ: LINQ, but Faster!
F# for Parallel and Asynchronous Programming
Native code in Visual Studio 2010:
C&#43;&#43; Forever: Interactive Applications in the Age of Manycore
Lighting up Windows Server 2008 R2 Using the ConcRT on UMS
Developing Applications for Scale-Up Servers Running Windows Server 2008 R2
HPC Server:
Accelerating Applications Using Windows HPC Server 2008
Research and Incubation:
Axum: A .NET Language for Safe and Scalable Concurrency
Concurrency Fuzzing &amp; Data Races
Data-Intensive Computing on Windows HPC Server with DryadLINQ
Rx: Reactive Extensions for .NET
Future of Garbage Collection
Future Directions for C# and Visual Basic
1188https://channel9.msdn.com/Shows/The+Knowledge+Chamber/Multi-Core-and-Parallel-Programming-Practices
Tue, 02 Feb 2010 16:51:00 GMThttps://channel9.msdn.com/Shows/The+Knowledge+Chamber/Multi-Core-and-Parallel-Programming-PracticesRobert HessRobert Hess1https://channel9.msdn.com/Shows/The+Knowledge+Chamber/Multi-Core-and-Parallel-Programming-Practices/RSSMulti-CoreParallel ComputingParallelismPDC09PDC 2009Gabriel Torok from PreEmptive Solutions talks with Murray Gordon at PDC 2009Murray Gordon talked with Gabriel Torok of PreEmptive Solutions about their solutions to help you get better insight into
your code. In addition Gabriel talked about the new Runtime Intelligence solution that helps you gain insight into your codes performance in the field.

]]>https://channel9.msdn.com/Blogs/jodonnell/Gabriel-Torok-from-PreEmptive-Solutions-talks-with-Murray-Gordon-at-PDC-2009
Murray Gordon talked with Gabriel Torok of PreEmptive Solutions about their solutions to help you get better insight into
your code. In addition Gabriel talked about the new Runtime Intelligence solution that helps you gain insight into your codes performance in the field.Enjoy the show!
John O'Donnell Microsoft Dynamics ISV Architect EvangelistMicrosoft Corporationhttp://blogs.msdn.com/jodonnellhttp://blogs.msdn.com/usisvdehttp://www.twitter.com/jodonnel
488https://channel9.msdn.com/Blogs/jodonnell/Gabriel-Torok-from-PreEmptive-Solutions-talks-with-Murray-Gordon-at-PDC-2009
Mon, 25 Jan 2010 22:59:00 GMThttps://channel9.msdn.com/Blogs/jodonnell/Gabriel-Torok-from-PreEmptive-Solutions-talks-with-Murray-Gordon-at-PDC-2009John O'DonnellJohn O'Donnell0https://channel9.msdn.com/Blogs/jodonnell/Gabriel-Torok-from-PreEmptive-Solutions-talks-with-Murray-Gordon-at-PDC-2009/RSS.NET 4.0.NET Framework 4.02010DeveloperDeveloper CommunityPDC 2009Runtime IntelligenceIntegrating Microsoft Silverlight with Microsoft Sharepoint 2010The upcoming release of Sharepoint 2010 will provide features and capabilities which will allow it to directly support Silverlight development and controls. At PDC09, Paul Stubbs held a session where he showed off many of these features, and walked the audience
through the process of how to utilize Silverlight from a Sharepoint website.

In this episode, I meet with Paul, and he briefly shows us how easy it is to do Silverlight development on a Sharepoint 2010 website.

If you'd like more details on this, you can view the entire session from PDC09 here:

]]>https://channel9.msdn.com/Shows/The+Knowledge+Chamber/Integrating-Microsoft-Silverlight-with-Microsoft-Sharepoint-2010
The upcoming release of Sharepoint 2010 will provide features and capabilities which will allow it to directly support Silverlight development and controls. At PDC09, Paul Stubbs held a session where he showed off many of these features, and walked the audience
through the process of how to utilize Silverlight from a Sharepoint website.In this episode, I meet with Paul, and he briefly shows us how easy it is to do Silverlight development on a Sharepoint 2010 website.If you'd like more details on this, you can view the entire session from PDC09 here:
Developer Patterns to Integrate Microsoft Silverlight 3.0 with Microsoft SharePoint 2010
You can find out more details about Sharepoint 2010, and the current beta here:
Sharepoint 2010 Website
1281https://channel9.msdn.com/Shows/The+Knowledge+Chamber/Integrating-Microsoft-Silverlight-with-Microsoft-Sharepoint-2010
Mon, 25 Jan 2010 17:58:00 GMThttps://channel9.msdn.com/Shows/The+Knowledge+Chamber/Integrating-Microsoft-Silverlight-with-Microsoft-Sharepoint-2010Robert HessRobert Hess2https://channel9.msdn.com/Shows/The+Knowledge+Chamber/Integrating-Microsoft-Silverlight-with-Microsoft-Sharepoint-2010/RSSPDC09PDC 2009SharePointSilverlightLieberman Software talks about being a Microsoft partner at PDC 2009
Lieberman Software talked with us at PDC 2009 about their business, being a Microsoft partner and also the benefits of getting your product certified. Be sure to watch to the end to hear the great comment Phil makes about Windows XP and Windows 7.

Enjoy the show!

John O'DonnellMicrosoft Dynamics ISV Architect EvangelistMicrosoft Corporationhttp://blogs.msdn.com/jodonnellhttp://blogs.msdn.com/usisvdehttp://www.twitter.com/jodonnel]]>https://channel9.msdn.com/Blogs/jodonnell/Lieberman-Software-talks-about-being-a-Microsoft-partner-at-PDC-2009Phil Lieberman from
Lieberman Software talked with us at PDC 2009 about their business, being a Microsoft partner and also the benefits of getting your product certified. Be sure to watch to the end to hear the great comment Phil makes about Windows XP and Windows 7.Enjoy the show!John O'DonnellMicrosoft Dynamics ISV Architect EvangelistMicrosoft Corporationhttp://blogs.msdn.com/jodonnellhttp://blogs.msdn.com/usisvdehttp://www.twitter.com/jodonnel
501https://channel9.msdn.com/Blogs/jodonnell/Lieberman-Software-talks-about-being-a-Microsoft-partner-at-PDC-2009
Thu, 07 Jan 2010 17:04:00 GMThttps://channel9.msdn.com/Blogs/jodonnell/Lieberman-Software-talks-about-being-a-Microsoft-partner-at-PDC-2009John O'DonnellJohn O'Donnell0https://channel9.msdn.com/Blogs/jodonnell/Lieberman-Software-talks-about-being-a-Microsoft-partner-at-PDC-2009/RSS2010CertificationDeveloperPDC 2009Windows 7Windows VistaWindows XPTalking with NewsGator at PDC 2009
NewsGator Technologies, an RSS platform company about their work with Microsoft development technologies.

Enjoy the show!

John O'DonnellMicrosoft Dynamics ISV Architect EvangelistMicrosoft Corporationhttp://blogs.msdn.com/jodonnellhttp://blogs.msdn.com/usisvdehttp://www.twitter.com/jodonnel]]>https://channel9.msdn.com/Blogs/jodonnell/Talking-with-NewsGator-at-PDC-2009Our team at PDC 2009 talked with Glenn Berry of
NewsGator Technologies, an RSS platform company about their work with Microsoft development technologies.Enjoy the show!John O'DonnellMicrosoft Dynamics ISV Architect EvangelistMicrosoft Corporationhttp://blogs.msdn.com/jodonnellhttp://blogs.msdn.com/usisvdehttp://www.twitter.com/jodonnel
544https://channel9.msdn.com/Blogs/jodonnell/Talking-with-NewsGator-at-PDC-2009
Wed, 06 Jan 2010 17:20:00 GMThttps://channel9.msdn.com/Blogs/jodonnell/Talking-with-NewsGator-at-PDC-2009John O'DonnellJohn O'Donnell0https://channel9.msdn.com/Blogs/jodonnell/Talking-with-NewsGator-at-PDC-2009/RSS2010NewsgatorPDC 2009RSS-ReaderSharePointSilverlight 4SQL 2008SQL Server 2008Pete at PDC09: WPF 3d Awesomeness with Tor and Robby
Think about going to a high-end home store, where the consultant sits down with you and helps configure a walk-in or other type of closet for your house. They help you do everything from pick materials to structural layout to deciding where you might want drawers
vs. hanging baskets. Now imagine that they're doing this all in 3d instead of an old pad of white paper with all the options listed and a little spot of graph paper in the corner.

This is not your typical business application, but it still does the things business apps all do including some nice forms over data parts shown near the end of the video. If you're looking for a little inspiration for your own apps, check this out.

]]>https://channel9.msdn.com/Blogs/Psychlist1972/Pete-at-PDC09-WPF-3d-Awesomeness-with-Tor-and-RobbyWhile at PDC09, I met up with Tor Langlo and Robby Ingebretsen who had just built a really cool closet configuration application using WPF and 3D.
Think about going to a high-end home store, where the consultant sits down with you and helps configure a walk-in or other type of closet for your house. They help you do everything from pick materials to structural layout to deciding where you might want drawers
vs. hanging baskets. Now imagine that they're doing this all in 3d instead of an old pad of white paper with all the options listed and a little spot of graph paper in the corner.
This is not your typical business application, but it still does the things business apps all do including some nice forms over data parts shown near the end of the video. If you're looking for a little inspiration for your own apps, check this out.
Robby's Blog,
Twitter Pete's Blog,
Twitter Tor's Site,
Twitter
1021https://channel9.msdn.com/Blogs/Psychlist1972/Pete-at-PDC09-WPF-3d-Awesomeness-with-Tor-and-Robby
Mon, 04 Jan 2010 20:09:00 GMThttps://channel9.msdn.com/Blogs/Psychlist1972/Pete-at-PDC09-WPF-3d-Awesomeness-with-Tor-and-RobbyPete BrownPete Brown0https://channel9.msdn.com/Blogs/Psychlist1972/Pete-at-PDC09-WPF-3d-Awesomeness-with-Tor-and-Robby/RSS3DBusiness AppsKioskPDC09PDC 2009Robby IngebretsenTor LangloWPFChannel 9 Live at PDC09: Day 3 WelcomeRecorded Live, November 19th 2009 at 10:30AM (PST)Click here for full schedule]]>https://channel9.msdn.com/Blogs/NicFill/Channel-9-Live-at-PDC09-Day-3-WelcomeChannel 9 Live at PDC09: Day 3 Welcome. Mike Swanson, Dennis Angilletta and Jennifer Ritzinger with Nic Fillingham.Recorded Live, November 19th 2009 at 10:30AM (PST)Click here for full schedule1824https://channel9.msdn.com/Blogs/NicFill/Channel-9-Live-at-PDC09-Day-3-Welcome
Wed, 30 Dec 2009 01:12:00 GMThttps://channel9.msdn.com/Blogs/NicFill/Channel-9-Live-at-PDC09-Day-3-WelcomeNic FillinghamNic Fillingham2https://channel9.msdn.com/Blogs/NicFill/Channel-9-Live-at-PDC09-Day-3-Welcome/RSSCh9livePDC09PDC 2009Channel 9 LiveChannel 9 Live at PDC09: TWoC9 Day 3]]>https://channel9.msdn.com/Blogs/NicFill/Channel-9-Live-at-PDC09-TWoC9-Day-3Channel 9 Live at PDC09: TWoC9 Day 3 1642https://channel9.msdn.com/Blogs/NicFill/Channel-9-Live-at-PDC09-TWoC9-Day-3
Wed, 30 Dec 2009 01:11:00 GMThttps://channel9.msdn.com/Blogs/NicFill/Channel-9-Live-at-PDC09-TWoC9-Day-3Nic FillinghamNic Fillingham0https://channel9.msdn.com/Blogs/NicFill/Channel-9-Live-at-PDC09-TWoC9-Day-3/RSSCh9livePDC09PDC 2009Channel 9 LiveChannel 9 Live at PDC09: Dr Brian Brooks (3M)]]>https://channel9.msdn.com/Blogs/NicFill/Channel-9-Live-at-PDC09-Dr-Brian-Brooks-3MChannel 9 Live at PDC09: Dr Brian Brooks (3M) 1619https://channel9.msdn.com/Blogs/NicFill/Channel-9-Live-at-PDC09-Dr-Brian-Brooks-3M
Thu, 24 Dec 2009 18:38:00 GMThttps://channel9.msdn.com/Blogs/NicFill/Channel-9-Live-at-PDC09-Dr-Brian-Brooks-3MNic FillinghamNic Fillingham2https://channel9.msdn.com/Blogs/NicFill/Channel-9-Live-at-PDC09-Dr-Brian-Brooks-3M/RSSCh9livePDC09PDC 2009Channel 9 LiveChannel 9 Live at PDC09: This Week on Channel 9 - PDC09 Daily Show Edition Day 1Recorded Live, November 17th 2009 at 5:00PM (PST)Click here for full schedule]]>https://channel9.msdn.com/Blogs/NicFill/Channel-9-Live-at-PDC09-This-Week-on-Channel-9-PDC09-Daily-Show-Edition-Day-1Channel 9 Live at PDC09: This Week on Channel 9 (PDC09 Daily Show Edition) Day 1 - Jeff Hadfield with Dan Fernandez.Recorded Live, November 17th 2009 at 5:00PM (PST)Click here for full schedule1428https://channel9.msdn.com/Blogs/NicFill/Channel-9-Live-at-PDC09-This-Week-on-Channel-9-PDC09-Daily-Show-Edition-Day-1
Thu, 24 Dec 2009 01:29:00 GMThttps://channel9.msdn.com/Blogs/NicFill/Channel-9-Live-at-PDC09-This-Week-on-Channel-9-PDC09-Daily-Show-Edition-Day-1Nic FillinghamNic Fillingham0https://channel9.msdn.com/Blogs/NicFill/Channel-9-Live-at-PDC09-This-Week-on-Channel-9-PDC09-Daily-Show-Edition-Day-1/RSSCh9livePDC09PDC 2009Channel 9 LiveChannel 9 Live at PDC09: Loic Le MeurSeesmic) and Jeff Sandquist with Dan Fernandez.Recorded Live, November 17th 2009 at 4:30PM (PST)Click here for full schedule]]>https://channel9.msdn.com/Blogs/NicFill/Channel-9-Live-at-PDC09-Loic-Le-MeurChannel 9 Live at PDC09: Loic Le Meur (Seesmic) and Jeff Sandquist with Dan Fernandez.Recorded Live, November 17th 2009 at 4:30PM (PST)Click here for full schedule1744https://channel9.msdn.com/Blogs/NicFill/Channel-9-Live-at-PDC09-Loic-Le-Meur
Wed, 23 Dec 2009 18:02:00 GMThttps://channel9.msdn.com/Blogs/NicFill/Channel-9-Live-at-PDC09-Loic-Le-MeurNic FillinghamNic Fillingham0https://channel9.msdn.com/Blogs/NicFill/Channel-9-Live-at-PDC09-Loic-Le-Meur/RSSCh9livePDC09PDC 2009Channel 9 LiveChannel 9 Live at PDC09: Doug McCuistion, NASAIs there life on Mars? Tune in to see what the director of NASA's Mars Exploration program thinks. This is a great discussion about the search for life in the universe, generally, and what NASA is doing and planning to do in the quest for living systems on
one planet specifically, Mars. ]]>https://channel9.msdn.com/Blogs/NicFill/Channel-9-Live-at-PDC09-Doug-McCuistion-NASAChannel 9 Live at PDC09: Doug McCuistion, NASA Is there life on Mars? Tune in to see what the director of NASA's Mars Exploration program thinks. This is a great discussion about the search for life in the universe, generally, and what NASA is doing and planning to do in the quest for living systems on
one planet specifically, Mars. 1741https://channel9.msdn.com/Blogs/NicFill/Channel-9-Live-at-PDC09-Doug-McCuistion-NASA
Tue, 22 Dec 2009 18:36:00 GMThttps://channel9.msdn.com/Blogs/NicFill/Channel-9-Live-at-PDC09-Doug-McCuistion-NASANic FillinghamNic Fillingham2https://channel9.msdn.com/Blogs/NicFill/Channel-9-Live-at-PDC09-Doug-McCuistion-NASA/RSSCh9liveNASAPDC09PDC 2009Channel 9 LiveChannel 9 Live at PDC09: .Net Rocks Part 2Recorded Live, November 19th 2009 at 12:30PM (PST)Click here for full schedule]]>https://channel9.msdn.com/Blogs/NicFill/Channel-9-Live-at-PDC09-Net-Rocks-Part-2Channel 9 Live at PDC09: Carl Franklin, Richard Campbell and Scott Stanfield with Scott HanselmanRecorded Live, November 19th 2009 at 12:30PM (PST)Click here for full schedule1777https://channel9.msdn.com/Blogs/NicFill/Channel-9-Live-at-PDC09-Net-Rocks-Part-2
Mon, 21 Dec 2009 17:37:00 GMThttps://channel9.msdn.com/Blogs/NicFill/Channel-9-Live-at-PDC09-Net-Rocks-Part-2Nic FillinghamNic Fillingham0https://channel9.msdn.com/Blogs/NicFill/Channel-9-Live-at-PDC09-Net-Rocks-Part-2/RSSCh9livePDC09PDC 2009Channel 9 LiveChannel 9 Live at PDC09: .Net Rocks Part 1Recorded Live, November 19th 2009 at 12:00PM (PST)Click here for full schedule]]>https://channel9.msdn.com/Blogs/NicFill/Channel-9-Live-at-PDC09-Net-Rocks-Part-1Channel 9 Live at PDC09: Carl Franklin, Richard Campbell with Scott HanselmanRecorded Live, November 19th 2009 at 12:00PM (PST)Click here for full schedule1692https://channel9.msdn.com/Blogs/NicFill/Channel-9-Live-at-PDC09-Net-Rocks-Part-1
Mon, 21 Dec 2009 17:36:00 GMThttps://channel9.msdn.com/Blogs/NicFill/Channel-9-Live-at-PDC09-Net-Rocks-Part-1Nic FillinghamNic Fillingham1https://channel9.msdn.com/Blogs/NicFill/Channel-9-Live-at-PDC09-Net-Rocks-Part-1/RSSCh9livePDC09PDC 2009Channel 9 LiveChannel 9 Live at PDC09: Wei Zhu (Facebook)Recorded Live, November 19th 2009 at 2:30PM (PST)Click here for full schedule]]>https://channel9.msdn.com/Blogs/NicFill/Channel-9-Live-at-PDC09-Wei-Zhu-FacebookChannel 9 Live at PDC09: with Dan FernandezRecorded Live, November 19th 2009 at 2:30PM (PST)Click here for full schedule1800https://channel9.msdn.com/Blogs/NicFill/Channel-9-Live-at-PDC09-Wei-Zhu-Facebook
Mon, 21 Dec 2009 17:35:00 GMThttps://channel9.msdn.com/Blogs/NicFill/Channel-9-Live-at-PDC09-Wei-Zhu-FacebookNic FillinghamNic Fillingham0https://channel9.msdn.com/Blogs/NicFill/Channel-9-Live-at-PDC09-Wei-Zhu-Facebook/RSSCh9liveFacebookPDC09PDC 2009Channel 9 LiveChannel 9 Live at PDC09: Coding 4 FunRecorded Live, November 19th 2009 at 11:00AM (PST)Click here for full schedule]]>https://channel9.msdn.com/Blogs/NicFill/Channel-9-Live-at-PDC09-Coding-4-FunChannel 9 Live at PDC09: Clint Rutkas, Brian Peek and Tim Higgins with Scott HanselmanRecorded Live, November 19th 2009 at 11:00AM (PST)Click here for full schedule1740https://channel9.msdn.com/Blogs/NicFill/Channel-9-Live-at-PDC09-Coding-4-Fun
Fri, 18 Dec 2009 22:46:00 GMThttps://channel9.msdn.com/Blogs/NicFill/Channel-9-Live-at-PDC09-Coding-4-FunNic FillinghamNic Fillingham0https://channel9.msdn.com/Blogs/NicFill/Channel-9-Live-at-PDC09-Coding-4-Fun/RSSCh9liveCoding4FunPDC09PDC 2009Scott HanselmanChannel 9 LiveChannel 9 Live at PDC09: Stephen ToubRecorded Live, November 19th 2009 at 11:30AM (PST)Click here for full schedule]]>https://channel9.msdn.com/Blogs/NicFill/Channel-9-Live-at-PDC09-Stephen-ToubChannel 9 Live at PDC09: Stephen Toub with Charles TorreRecorded Live, November 19th 2009 at 11:30AM (PST)Click here for full schedule1668https://channel9.msdn.com/Blogs/NicFill/Channel-9-Live-at-PDC09-Stephen-Toub
Fri, 18 Dec 2009 22:44:00 GMThttps://channel9.msdn.com/Blogs/NicFill/Channel-9-Live-at-PDC09-Stephen-ToubNic FillinghamNic Fillingham0https://channel9.msdn.com/Blogs/NicFill/Channel-9-Live-at-PDC09-Stephen-Toub/RSSCh9liveConcurrencyConcurrency RuntimeParallel ComputingParallel Computing PlatformPDC09PDC 2009Stephen ToubChannel 9 LiveChannel 9 Live at PDC09: Dr Jeff Norris, NASARecorded Live, November 17th 2009 at 11:00AM PSTClick here for full schedule]]>https://channel9.msdn.com/Blogs/NicFill/Channel-9-Live-at-PDC09-Dr-Jeff-Norris-NASAChannel 9 Live at PDC09: Dr Jeff Norris, Planning Software Systems Group Supervisor, NASA, with Charles Torre.Recorded Live, November 17th 2009 at 11:00AM PSTClick here for full schedule
1715https://channel9.msdn.com/Blogs/NicFill/Channel-9-Live-at-PDC09-Dr-Jeff-Norris-NASA
Thu, 17 Dec 2009 23:43:00 GMThttps://channel9.msdn.com/Blogs/NicFill/Channel-9-Live-at-PDC09-Dr-Jeff-Norris-NASANic FillinghamNic Fillingham2https://channel9.msdn.com/Blogs/NicFill/Channel-9-Live-at-PDC09-Dr-Jeff-Norris-NASA/RSSCh9liveNASAPDC09PDC 2009Channel 9 Live