# Wednesday, 12 January 2011
Since midsummer I've been watching the "STL on STL" series accumulate on Channel 9. The lectures appeared as "part 1 of n", "part 2 of n" and so on until, in the bleak midwinter, part 10 of 10 appeared, so they must be done. Here are some links to them all:

There really isn't any universe in which the material this series covers can be called Introductory. When Stephan has finished introducing you to the STL, you will know an awful lot. And in this century, knowing the STL is a vital part of being a C++ developer. Many developers are scared of it: they think it's difficult and complicated. And to be honest, it can be. There's an awful lot going on and there is a lot to learn. Watching these videos, you can see how much Stephan LIKES this material, likes this library, and he's clearly not scared of it or trying to impress you with how difficult it is. He wants you to know all this. And if you follow along (and even do the homework!) you will catapult yourself forward in your STL knowledge and abilities. Take the time to do it, you won't regret it.

Kate

Wednesday, 12 January 2011 09:33:08 (Eastern Standard Time, UTC-05:00)  #    
# Monday, 10 January 2011

The Visual C++ team, in addition to tweeting and blogging regularly, is now accumulating a week's worth of links and stories at a time and publishing them at paper.li. If you don't compulsively check in to the C++ world every day, it can be a great way to stay in touch. Even if you do, you might discover a source you're weren't checking before. It's a little less obtrusive than other ways of sharing links, I think. Check out the C++ Weekly and the team blog post introducing it.

Kate

Monday, 10 January 2011 08:44:04 (Eastern Standard Time, UTC-05:00)  #    
# Saturday, 08 January 2011
The voting is open at the Tech Ed site for you to express your preferences on possible sessions. My experience indicates that submissions not shown here can still end up being sessions, and certainly not all submissions shown here will be accepted, but obviously a strong interest from the public in a session will increase its chances of acceptance. With that in mind I thought I'd show you the results of a few searches.

First, C++:

These have orange plusses on them because I've added them to my preferences. You'll see a grey square you can click to add them to yours.

Next, Windows 7 development. Let's try Code Pack:

And finally the intersection of WPF and Windows 7 searches (I had to crop the shot by hand, there's no handy search that returns just these):


If you want to be sure that Tech Ed USA offers sessions you'd like to attend, the power is in your hands. (Disclaimer: some - but not all - of the submissions I am showing you here are my own.) Make your feelings known. And see you in Atlanta (I hope) in May!

Kate
Saturday, 08 January 2011 10:14:11 (Eastern Standard Time, UTC-05:00)  #    
# Thursday, 06 January 2011
Here's a super neat tip from Mike Ormond - he shows how to track reviews for a Windows Phone 7 app. My guess is you would mostly want to track your own apps, or possibly the competition. You use a free app that tracks reviews, of course. Written by Sergei Golubev, a former Microsoft employee, it fills an important niche and if you wrote an app and put it in the marketplace, you want this app. And it will apparently only be free for a limited time, so don't dawdle!

Kate

Thursday, 06 January 2011 20:52:58 (Eastern Standard Time, UTC-05:00)  #    
# Tuesday, 04 January 2011
Ok, perhaps it's not news that a keynote is fundamentally different from a breakout. But many keynotes look just like breakouts - the way the slides are written, for example - and many keynotes leave a lot of attendees unsatisfied. A meme began to rise among presenters that "bullets are bad" and "bullets can kill you". I agree completely for keynotes. I don't agree for breakouts, and I've been to breakouts with the pictures of kittens and the single emotionally loaded word and then a picture of a tree and just hated them. But the a-ha! for me is the simple statement: a keynote is not a breakout.

It just makes the whole anti-bullet / pro-bullet thing click for me. The keynote can be full of pictures and super simple words, because it's a keynote. The breakout can still have slides with bullets, tables, charts etc because it's a breakout. Of course the deck for a keynote is not of value without the presenter. It's a keynote. This works for me. Major credit to me "getting" this goes to (of course) Garr Reynolds of Presentation Zen. His post on how dramatically Bill Gates has changed his keynote style - slides, posture, tone, and more -- really lit a light bulb in my head about keynotes and breakouts, whether that was the intention or not. The post itself is highly informative and if you ever speak in from of an audience, you should read it and look at the pictures. These two are from 2005 and 2010 and I think they show you quite a difference:



So, a keynote is a not a breakout (something Bill clearly gets now) and a breakout is a not a keynote. Meaning the kitten content of my talks isn't likely to increase until someone invites me to keynote for them :-).

Kate
Tuesday, 04 January 2011 20:36:55 (Eastern Standard Time, UTC-05:00)  #    
# Sunday, 02 January 2011
The sessions have been selected for DevTeach and I was pleased to see one of mine accepted. I'll do my "Advanced Windows 7 Programming" session:

Windows 7 development in managed code can be very simple, especially for those using the Windows API Code Pack. But there's more! Your integration with Windows 7 doesn't have to be limited to simple interactions with the new API. This session goes beyond the simple and into aspects of Windows 7 development that have in the past been left for you to explore on your own. See how to create a jumplist with a task that delivers a command to your application, as Messenger and Outlook do. Explore a simple and powerful recipe for connecting to Restart and Recovery with minimal effort. Discover how Trigger Started Services can reduce your power footprint while giving your users better responsiveness. Explore all that Libraries has to offer beyond "File Open" and why using a library is a better approach than having a user setting for "save directory."

This is all managed code, C# and VB. The conference is after Tech Ed US this year, (Tech Ed is May 16-19, DevTeach is May 30 - June 3) so rather than you seeing a Tech Ed talk before the Tech Ed attendees do (my usual DevTeach offer) you can see a Tech Ed talk after it's been refined a bit by giving it to a Tech Ed audience. Even better!

Montreal in the early summer is a beautiful place and there's a great crop of speakers coming! Many are friends, all are top-notch.
Sign up now for only $899 Canadian for the full 3 days! That's less than half the price of Tech Ed, and you travel only to Montreal. If you're a developer, give this conference serious attention. Of course, if you can do both Tech Ed and DevTeach, you will gain maximum benefit and a chance to learn all that is current in our field. That's my May 2011 plan.

Kate

Sunday, 02 January 2011 11:00:29 (Eastern Standard Time, UTC-05:00)  #    
# Friday, 31 December 2010
I was lucky enough to be part of a spirited email discussion recently on the topic of exceptions. And luckier still that Diego Dagum, the new C++ Community PM, has summarized it on the VC team blog. You should enjoy reading the "best practices" we worked our way around to, like:
Most MVPs agreed that, despite not being illegal in C++, throwing primitive types like int, long, etc., or similarly Windows-based ones like HRESULT, etc. is a coding horror as inabilities to catch those in the proper place will make the application crash with a hard post-investigation to determine where they are being originated.

Of course, we ended up talking about checked exceptions, one of the things I really hated about Java personally, and RAII which is a critical way of thinking if there are exceptions flying around your app. STL joins in with a comment that could be worth gold to someone dealing with SEH:

I strongly recommend AGAINST using the /EHa compiler option. Either /EHs or /EHsc should ALWAYS be used, with /EHsc being preferable (it's faster because it assumes that extern "C" functions won't emit exceptions - while technically permitted by the Standard, sane code should never attempt to do such a thing, so giving up that ability is worth the performance gain).

And I am sure the comments will continue to grow and the conversation continue. This is how we all get better, by discussing and sharing and occasionally defending our practices. It's a must-read.

Kate

Friday, 31 December 2010 20:01:25 (Eastern Standard Time, UTC-05:00)  #    
# Wednesday, 29 December 2010
Visual Studio 2010 comes with a whole pile of project templates (C# WPF project, that sort of thing) and snippets. They get you started on new projects and save you a lot of time. But if you're a StyleCop user, they can frustrate you, because the code they generate for you can generate plenty of warnings.

The solution: new versions of these snippets and templates that are StyleCop-compliant. Plenty of XML comments, nothing left to default, generally nice code. Doug Holland has a blog post on this with plenty of examples and links. Take a look!

Kate

Wednesday, 29 December 2010 19:54:05 (Eastern Standard Time, UTC-05:00)  #