Kinect at Tech Valley .NET User Group

imageFor my fellow Capital District folks, I’ll be giving a session to the Tech Valley .NET Users Group (TVUG) Tuesday, December 13th at 6:30pm on everything that is Kinect and the Kinect for Windows SDK  Here are the details….

Where: Tyler Technologies, Latham, NY
When: Tuesday, December 13th, 2011, 6:30-8:30PM

Join us as Brian Peek demonstrates the basics of using the Kinect for Windows SDK including:  how Kinect works, installing and setting up the Kinect sensor, setting up the development environment, reading camera, depth and skeleton data, understanding what depth data is and how it works, skeletal tracking and working with the Kinect microphone array to record audio and use speech recognition.

Hope to see you all there!

Read More

Visual Studio Live! - Orlando 2011

imageI will be speaking at Visual Studio Live! in Orlando this December 5-9.  The conference is a full 5 day event and there’s still time to register!  The two sessions I’m presenting are:

TH2 - XNA Games for Windows Phone 7
Date: Thursday, December 8, 2011
Time: 8:00 AM – 9:15 AM 
Level: Introductory to Intermediate

You have Silverlight on Windows Phone 7 under control, but what about XNA? If you're looking to create a more advanced game with better performance than Silverlight, XNA is the platform for you. In this session, developers will learn how to build an XNA game targeted for Windows Phone 7. The basics of the platform will be demonstrated while building a simple Space Invaders-type game that would be Marketplace acceptable. Specifically, this session will cover how to deal with user input, play sound effects and music, display animated 2D graphics, and how to create a game that's ready to be sold on the Marketplace.

Read More

Kinect for Windows SDK + XNA

imageI have seen a few people talk about using the Kinect for Windows SDK with XNA lately, and many of those projects aren't using the SDK how it's intended to be used from a framework such as this.

When I had a hand in working on the managed SDK, I made a point that the API should allow for both an "eventing" model, and a polling model.  In the land of WPF and WinForms, an eventing model makes perfect sense.  In these frameworks, the SDK is intended to be used thusly:

private Nui.Runtime _kinect = Nui.Runtime.Kinects[0];

private void Window_Loaded(object sender, RoutedEventArgs e)
{
    _kinect.DepthFrameReady += DepthFrameReady;
    _kinect.SkeletonFrameReady += SkeletonFrameReady;
}

void DepthFrameReady(object sender, ImageFrameReadyEventArgs e)
{
    // do something with the depth frame
}

void SkeletonFrameReady(object sender, SkeletonFrameReadyEventArgs e)
{
    // do something with the skeleton frame
}

But, in the land of XNA, where all of your code is shared between the Update and Draw methods, and where events don't really exist in the normal flow of things, trying to synchronize the Kinect events and the data they provide with the Update and Draw loop can be difficult, and can lead to conditions where data is being updated from an event while you're touching it in the Update method.  Sure, you could use locks to help synchronize things, but there's an easier way.

Read More

HP TouchSmart 420t Recovery Discs + Software

imageMy mom desperately needed a new computer (she's still running XP on a very old Dell), so I decided to pick up one of HP's new TouchSmart 420t machines for her, thinking it'll also be a great machine for Windows 8 when it arrives.

HP, in their infinite wisdom, decided that, among other annoyances, one can only create a single set of recovery media from the included Recovery Media Creation application.  Once you make the set, that's it.  If you lose the media, or if you want to make a second set on USB instead of DVDs, you're out of luck, short of ordering the media from HP for a price.

If you are stuck in this situation, there is an easy fix, assuming you still have the Recovery partition available on the hard drive.

Read More

Welcome to the New Site!

If you're reading this, it means I haven't totally boned the conversion over to BlogEngine from CommunityServer.  It's been a long time coming, but I finally had the time to convert everything to the new system and put it live today.

I would appreciate any and all feedback, especially for broken links or things that just aren't working the way they should be.  I'll be tweaking things a bit more, but it's now live!

The one thing you'll find missing is the Forums section from the old site.  It didn't get much use and I figured it was time to let it go.  I don't plan to have a replacement at the moment.

Enjoy the new site!

Read More