# 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)  #    Comments [0]
# 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)  #    Comments [0]
# 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)  #    Comments [0]
# 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)  #    Comments [0]
# 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)  #    Comments [0]
# 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)  #    Comments [0]
# Monday, 27 December 2010

I'm a big fan of Visual Studio 2010 extensibility; I've given talks at various places about extending Visual Studio yourself and using the gallery to find great extensions. I recommend specific extensions as part of other talks and there are many I can't live without. I came across a fun list by Terje Sandstrom of the extensions they like to use at Inmeta. I completely agree about Pro Power Tools, but I would also add Presentation Zoom and Code Snippet Designer. By the way, the All in One Code Framework is also listed on the gallery. It's just a link over to the CodePlex site, but it's a way to find it if you missed one of the zillion links from my blog.

If you're using Visual Studio 2010 and you're not taking a little time to explore the gallery and tweak the way your copy works, you're missing a chance to be more productive and to enjoy Visual Studio more. Take a look!

Kate

Monday, 27 December 2010 19:49:10 (Eastern Standard Time, UTC-05:00)  #    Comments [0]
# Saturday, 25 December 2010

A while back, I blogged about an empty jumplist for Windows Explorer and how I fixed it. I've come across another no-jumplist issue, this time in a blog post by Rick Strahl. This app never gets a jumplist, and can't be pinned to the taskbar or start menu either. Believe it or not, the reason is the executable name. I've seen all sorts of people running into issues with UAC elevation being triggered by certain executable names, but this is the first I've heard of the jumplist being taken away because of it.

Rick looked into it, found the documentation, even found the Registry key and the list of "magic" words in your executable name (Documentation;Help;Install;More Info;Readme;Read me;Read First;Setup;Support;What's New;Remove) that cause the problem. Nice work! Your options, if you find yourself here, are to rename your exe, or (if, like Rick, you have a lot of stuff depending on that name thanks to COM etc) to change the Registry key so that whatever string you're using isn't the problem.

Kate

Saturday, 25 December 2010 19:40:06 (Eastern Standard Time, UTC-05:00)  #    Comments [0]