I came across this blog post of a farewell email from Philip Su, written as he was leaving Microsoft after twelve years. You might expect that someone leaving a company would have some negative things to say about it, but not Philip. He sounds like a very nice person and one who's done pretty well by being nice. I thoroughly approve. It is full of specific and actionable advice as well as philosophy. I liked "Smart people understand why smart people disagree." and his thoughts on how people rank themselves, and what influences their ranking of others.

This release actually slipped out at the end of August with little fanfare. But you really should check in to it. First, if you're already a Code Pack user, you'll want the update for the bugfixes and related tweaks. If you're one of the people who looks at the source code to this useful library, for example for an interop reference, you're going to find it much improved. One really obvious thing is that all the samples are now happy to convert to VS 2010 which had been an issue for me with 1.0.1.

As well there are three new capabilities: Shell Object Watcher, Preview Handlers, and Thumbnail Handlers. Shell extensions used to be offlimits from managed code because they run in process with either the shell or whatever process launched them (which could be anybody's app that uses the Common File Dialogs) and you were forbidden (but not prevented) from using managed code in that situation. The issue was that if the launching process was already managed code and it had a different CLR loaded, then weird things would happen when your managed code wanted your own CLR. But now that restriction is lifted, so you can write preview handlers (which are out of process, so you were allowed to write them before) and thumbnail handlers (which are in process and therefore were native code only before) for your own file types. The Code Pack makes that pretty simple, all things considered.

Download it, install it, and if you have issues someone is reading and responding on the discussions tab, so please join the conversation.

A first glance, a book about social media might seem to be "dancing about architecture." But of course the target audience for the book is people who are not yet fully fluent in social media and it makes perfect sense to talk to such people using a medium in which they are fully fluent. That means book form makes sense.

I was lucky enough to get a preview copy of Working the Crowd: Social Media Marketing for Business from Eileen Brown. She and I have been working together and bumping into each other for years, which is why I agreed to read it. But I'm recommending it simply because it's good. It's full of no-nonsense advice and useful anecdotes. Just a few pages in, for example, she says:

If you want to progress in business, don’t wait to be discovered. Make sure you have a great online profile and a positive brand.

I'm not saying that no-one has thought of that before. I am saying that clearly stated and useful advice is a good thing, and this book is full of such advice. She clearly tackles this "this is just a fad" crowd, explains about "influencers" (like me) and lays out specific actions steps you can follow to have a good social media experience. This includes how to measure what is happening, which most companies desparately need. She even covers specific sites and tools, guidelines for blogging and Twitter, and how to protect yourself from reputation damage or legal consequences.

It's a good book. If you don't have a social media strategy yet, then reading this one will take you a long way forward. I recommend it to any business wondering about "the twitter". You can pre-order on Amazon now and I suggest you do, though you may want to adjust this link to point to the Amazon nearest you.

It took a while for the session catalog to update online, but it's official now:

DEV311 - Modern Programming with C++0x in Microsoft Visual C++ 2010

Session Type: Breakout Session
Track: Developer Tools, Languages
& Frameworks
Speaker(s): Kate GregoryWhy wait for the C++ committee to finish the
specification when you can enjoy much of the power of C++0x today! C++0x, the
next C++ standard, is almost upon us and it contains the most important updates
to the language since the mid-90s. It even accepts the existence of multiple
threads for the first time in the history of the language. Needless to say,
these new features bring more expressiveness and power to the native C++
developer. Visual Studio 2010 has added support for some of these key features
in order to enable these modern programming techniques. This session clarifies
what features are in Visual C++ 2010 and what is yet to come. It illustrates how
new constructs such as lambda expressions enable better use of existing
libraries and how your code can be simpler, safer and faster all at the same
time. If you are itching to show off how C++ is one of the coolest languages on
the planet, this talk is for you!

Session Type: Breakout Session
Track: Windows Client Speaker(s):Kate Gregory
Accessing new Windows 7 features is a challenge from
managed (.NET) code. The level of interoperability required is out of reach for
many developers. The Windows API Code Pack for the Microsoft .NET Framework is a
sample library you can use in your own projects today that provides access to
new user interface features (taskbar jumplists, libraries, sensor platform and
more) as well as "behind the scenes" features that make your applications more
aware and responsive (restart and recovery, power management and more.) Discover
a shortcut to Windows 7 development for Microsoft Visual Basic and Visual C#
programmers and get started today.

I've done talks with these titles and abstracts before, but I'm not repeating those this time. I'm rejigging the demos pretty substantially and generally rewriting the talks. Register now, and I hope to see you there!

I love speaking at DevTeach. It's a must-do conference for a lot of A-list speakers and it's always fun and informative. I've blogged about it a lot already. Now Jean Rene has released the session videos online. So if you didn't get out to see us, you can still watch - how cool is that?

Scroll down the page till you see this:

Click on the title to watch the video, and on the Material link to get the powerpoints. (I recommend you watch these in the reverse order than they are shown - first Lighting Up, then Code Pack. Enjoy!

Over six years ago, I helped to found the East of Toronto .NET Users Group, because I didn't want to drive all the way across Toronto to attend user group meetings, and I was pretty sure I was surrounded by others who felt that way. The meeting location has varied over the years but is always in Oshawa or Whitby. That's about a 45 minute drive from my house, and never slows down because of rush hour traffic. I get to as many meetings as I can.

About a year and a half ago, the Markham .NET Users Group kicked off, for much the same reason - wanting to learn more, but not wanting to drive for hours to get to meetings. And now our schedules finally mesh and I can speak there. It's also about 45 minutes from my house and immune from traffic problems.

So, on October 25th I will be speaking in Markham, on Extending Visual Studio 2010. I hope to cover both finding and using extensions and a tiny taste of writing your own. If you live closer to Markham than to downtown, or North York, or Whitby, then please come out and learn how to make Visual Studio your own! I'll be bringing some cool prizes, too - free Pluralsight training, for example. Please register so we know how many to expect.

Learn directly from Intel and Microsoft when you attend this
free one-day course on parallelism and threading. This is a
great opportunity learn about threading your applications for multi-core
platforms. This course is targeted for Windows* C++ developers using Microsoft
Visual Studio*.

The performance benefits of application parallelism on
modern computing platforms will come from threading software. Learn how to
develop software that utilizes many cores! Familiarity with threads is helpful,
but not required (target is beginning- to intermediate-experience with threads,
experts would not benefit as much from this course).

Here's another thing I learned when preparing demos for a non technical crowd on Office 2010. Putting videos into PowerPoint can actually be fun. My exposure to these was mostly at large keynotes and so on, where the speaker would play a video and stand there kind of awkwardly while it played. Not my thing.

Now, have you ever been at a party or get together that had a slideshow of pictures playing? Weddings, wakes, milestone birthday parties, seems like you can almost always spot a laptop in the corner just quietly cycling through dozens (or hundreds) of pictures. It's actually a really nice trend. Most of the people I know do that with PowerPoint. One picture per slide - sometimes filling the whole slide, sometimes with some text added - and then set it up to auto advance and to repeat indefinitely. Well, if you're going to do that, you can include videos as well. And PowerPoint has some built in tools to let you crop (or clip) the video, fade it in and out, even display it in a slightly more interesting layout.

I can see adding videos to my next slideshow using these tools. And not having to open a second product will make it that much more likely that I'll actually do it.