I spent much of the spring working on this course, and am delighted to see it live!

Visual
Studio 2017: Essentials to the Power User is 7 hours of good stuff you need if
you're a Visual Studio user. My emphasis is on keeping you happy and productive by
getting the tool to help you and showing you neat features you probably didn't know
about. If you open that link in a new tab, you can play the course overview (a 2 minute
"trailer") and look at the table of contents. I've done versions of this course for
older Visual Studios and I get comments like "It's as though I have a whole new IDE"
and "I've been using Visual Studio for years and you showed me things I didn't know,
and I'm glad I do now."

I think debugging in general is not taught enough, so I'm happy to have 2 whole modules
on it here - not on philosophy of debugging or how to narrow down a bug, but just
on how to operate the machinery of Visual Studio's debugger. There's lots of it. Plus,
if you have Ultimate, there's another half a module on "Historical Debugging", IntelliTrace.
I also spend quite a lot of time on how to find your way around a large codebase with
the various searching, finding, navigating and exploring capabilities that have evolved
over time.

Here's a quick topic summary:

I really enjoyed writing this course and hope you enjoy watching it. If you need a
free trial, look over to the right on this page for the grey rectangle that says Author
and click for a 10 day trial.

Kate

My Visual Studio 2017 course is livehttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=1022b4a7-8ad2-4f3f-9218-1d2deff5e617http://www.gregcons.com/KateBlog/MyVisualStudio2017CourseIsLive.aspx
Sat, 08 Jul 2017 14:40:45 GMT<p>
I spent much of the spring working on this course, and am delighted to see it live!
</p>
<p>
<a href="https://www.pluralsight.com/courses/visual-studio-2017-essentials-beyond">Visual
Studio 2017: Essentials to the Power User</a> is 7 hours of good stuff you need if
you're a Visual Studio user. My emphasis is on keeping you happy and productive by
getting the tool to help you and showing you neat features you probably didn't know
about. If you open that link in a new tab, you can play the course overview (a 2 minute
"trailer") and look at the table of contents. I've done versions of this course for
older Visual Studios and I get comments like "It's as though I have a whole new IDE"
and "I've been using Visual Studio for years and you showed me things I didn't know,
and I'm glad I do now."
<br>
</p>
<p>
I think debugging in general is not taught enough, so I'm happy to have 2 whole modules
on it here - not on philosophy of debugging or how to narrow down a bug, but just
on how to operate the machinery of Visual Studio's debugger. There's lots of it. Plus,
if you have Ultimate, there's another half a module on "Historical Debugging", IntelliTrace.
I also spend quite a lot of time on how to find your way around a large codebase with
the various searching, finding, navigating and exploring capabilities that have evolved
over time.
</p>
<p>
Here's a quick topic summary:
</p>
<p>
<img src="http://www.gregcons.com/KateBlog/content/binary/teaser[1][2][3][4][5][6][7][8][9][10][11][12].jpg" border="0">
</p>
<p>
I really enjoyed writing this course and hope you enjoy watching it. If you need a
free trial, look over to the right on this page for the grey rectangle that says Author
and click for a 10 day trial.
</p>
<p>
Kate<br>
</p>
<img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=1022b4a7-8ad2-4f3f-9218-1d2deff5e617" />http://www.gregcons.com/KateBlog/CommentView.aspx?guid=1022b4a7-8ad2-4f3f-9218-1d2deff5e617Client DevelopmentMentoringSeen and RecommendedVisual Studio 2017http://www.gregcons.com/KateBlog/Trackback.aspx?guid=c23f0e60-ea1f-4a35-88ac-3c38511d2067http://www.gregcons.com/KateBlog/pingback.aspxhttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=c23f0e60-ea1f-4a35-88ac-3c38511d2067Kate Gregoryhttp://www.gregcons.com/KateBlog/CommentView.aspx?guid=c23f0e60-ea1f-4a35-88ac-3c38511d2067http://www.gregcons.com/KateBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=c23f0e60-ea1f-4a35-88ac-3c38511d2067

In yesterday's session, I showed a Windows 8 store app that loads an image and then
draws an animated ripple over it.

If you would like to get the code, and more importantly the documentation that explains
the code, it's on Codeplex.
Mixing and matching a little DirectX into your Windows 8 C++/CX app is remarkably
easy, so why not take a quick look?

Kate

DirectX and Windows Store interop quickstarthttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=c23f0e60-ea1f-4a35-88ac-3c38511d2067http://www.gregcons.com/KateBlog/DirectXAndWindowsStoreInteropQuickstart.aspx
Wed, 02 Oct 2013 06:45:36 GMT<p>
In yesterday's session, I showed a Windows 8 store app that loads an image and then
draws an animated ripple over it.
</p>
<p>
<img border="0" width=400 src="http://www.gregcons.com/KateBlog/content/binary/ripple.png">
</p>
<p>
If you would like to get the code, and more importantly the documentation that explains
the code, it's <a href="http://hilo.codeplex.com/releases/view/98021">on Codeplex</a>.
Mixing and matching a little DirectX into your Windows 8 C++/CX app is remarkably
easy, so why not take a quick look?
</p>
<p>
Kate
</p>
<img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=c23f0e60-ea1f-4a35-88ac-3c38511d2067" />http://www.gregcons.com/KateBlog/CommentView.aspx?guid=c23f0e60-ea1f-4a35-88ac-3c38511d2067C++Client DevelopmentSeen and RecommendedVisual Studio 11Windows 8http://www.gregcons.com/KateBlog/Trackback.aspx?guid=73e3f835-5ec3-4c2e-bb47-234f00ab19d8http://www.gregcons.com/KateBlog/pingback.aspxhttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=73e3f835-5ec3-4c2e-bb47-234f00ab19d8Kate Gregoryhttp://www.gregcons.com/KateBlog/CommentView.aspx?guid=73e3f835-5ec3-4c2e-bb47-234f00ab19d8http://www.gregcons.com/KateBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=73e3f835-5ec3-4c2e-bb47-234f00ab19d8

I write a lot in Microsoft Word. A Lot. And much of it is for my own purposes - say
a list of things I need to keep track of, or a summary of my meeting notes. I use
the Ctrl-F command to bring up the navigation pane, and I click the leftmost tab on
that pane to show an outline view instead of the Find dialog:

Right away you can see something useful going on here. The Four section is highlighted
yellowy-orange because that's where the cursor is. If I add sub-sections, the outline
gets even more useful:

I guess you knew that you could click a heading in that navigation view and the cursor
would scroll there. That's mostly what I use it for. But there are some documents
that I have in a two column view, so that I can fit more short lines onto a page.
(It's a perfect approach for lists that are slightly more complicated than a to-do
list, for example.) This two column layout makes it really hard to select one section
with the mouse and move it around, especially if it's a section that crosses the column
break.

Or imagine a really long document where each of these sections is about 20 pages long,
and you want to move "Possible Risks" before "Motivations for the Schedule". You could
click at one place, page down a lot, and shift click, but it's awkward. I just learned I
can drag and drop sections in the navigation pane! That's right, click on the
Two in the nav pane, drag it a little and watch for the black horizontal line:

When you let go, the section has moved (and the whole section is selected):

This saves me so much time and frustration, I just had to share it. Maybe your client
apps can offer some truly delightful drag and drop too?

Kate

Fun tricks with Word - outline rearranginghttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=d5046474-d502-4663-88fa-f71b7cae50fchttp://www.gregcons.com/KateBlog/FunTricksWithWordOutlineRearranging.aspx
Sun, 27 Jan 2013 23:05:23 GMT<p>
I write a lot in Microsoft Word. A Lot. And much of it is for my own purposes - say
a list of things I need to keep track of, or a summary of my meeting notes. I use
the Ctrl-F command to bring up the navigation pane, and I click the leftmost tab on
that pane to show an outline view instead of the Find dialog:
</p>
<p>
<img src="http://www.gregcons.com/KateBlog/content/binary/word1.jpg" border="0">
</p>
<p>
Right away you can see something useful going on here. The Four section is highlighted
yellowy-orange because that's where the cursor is. If I add sub-sections, the outline
gets even more useful:
</p>
<p>
<img src="http://www.gregcons.com/KateBlog/content/binary/word2.jpg" border="0">
</p>
<p>
I guess you knew that you could click a heading in that navigation view and the cursor
would scroll there. That's mostly what I use it for. But there are some documents
that I have in a two column view, so that I can fit more short lines onto a page.
(It's a perfect approach for lists that are slightly more complicated than a to-do
list, for example.) This two column layout makes it really hard to select one section
with the mouse and move it around, especially if it's a section that crosses the column
break.
<br>
</p>
<p>
Or imagine a really long document where each of these sections is about 20 pages long,
and you want to move "Possible Risks" before "Motivations for the Schedule". You could
click at one place, page down a lot, and shift click, but it's awkward. I just learned <b>I
can drag and drop sections in the navigation pane</b>! That's right, click on the
Two in the nav pane, drag it a little and watch for the black horizontal line:
</p>
<p>
<img src="http://www.gregcons.com/KateBlog/content/binary/word3.jpg" border="0">
</p>
<p>
When you let go, the section has moved (and the whole section is selected):
</p>
<p>
<img src="http://www.gregcons.com/KateBlog/content/binary/word4.jpg" border="0">
</p>
<p>
This saves me so much time and frustration, I just had to share it. Maybe your client
apps can offer some truly delightful drag and drop too?<br>
</p>
<p>
Kate
</p>
<img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=d5046474-d502-4663-88fa-f71b7cae50fc" />http://www.gregcons.com/KateBlog/CommentView.aspx?guid=d5046474-d502-4663-88fa-f71b7cae50fcClient DevelopmentConsulting Lifehttp://www.gregcons.com/KateBlog/Trackback.aspx?guid=fa8ca79b-c8ad-4132-b302-8899e8db6408http://www.gregcons.com/KateBlog/pingback.aspxhttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=fa8ca79b-c8ad-4132-b302-8899e8db6408Kate Gregoryhttp://www.gregcons.com/KateBlog/CommentView.aspx?guid=fa8ca79b-c8ad-4132-b302-8899e8db6408http://www.gregcons.com/KateBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=fa8ca79b-c8ad-4132-b302-8899e8db6408

Over the last few weeks, I've been accumulating links to appearances of mine, and
it seems like a good idea to share these.

OReilly webcast: This is
a reasonably horrible recording (sound quality and video size) of a webcast I did
back in August. It shows why C++ AMP is so cool and why you might care about it. I
recorded it to promote the book but
I'm not very happy with how it turned out. You'll probably do better with the recording
of my Tech Ed
talk.

It’s not just like, oh, I saved five seconds. I can go
home five seconds earlier today. It’s that you’re less likely to forget what you were
doing because you don’t have to put so much time into the mechanics and you just stay
in flow. And to me, that’s a ramping up of two or three times the amount of code I
can produce when I use everything the tool has to offer.

Dot Net Rocks panel
at DevIntersection: Here Scott Allen, Michele Leroux Bustamante, Woody Pewitt,
and I discuss whatever we feel like, with occasional leading questions from Carl and
Richard, and some Canadian whisky too.

Even though I haven't been blogging much, I have been doing a lot, and I hope these
links will help you to discover some of it.

Kate

Some recently released recordingshttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=fa8ca79b-c8ad-4132-b302-8899e8db6408http://www.gregcons.com/KateBlog/SomeRecentlyReleasedRecordings.aspx
Fri, 04 Jan 2013 22:58:45 GMT<p>
Over the last few weeks, I've been accumulating links to appearances of mine, and
it seems like a good idea to share these.
</p>
<ul>
<li>
<a href="http://www.youtube.com/watch?v=3k1-P-lGa84">OReilly webcast</a>: This is
a reasonably horrible recording (sound quality and video size) of a webcast I did
back in August. It shows why C++ AMP is so cool and why you might care about it. I
recorded it to promote <a href="http://www.gregcons.com/cppamp/">the book </a>but
I'm not very happy with how it turned out. You'll probably do better with the recording
of <a href="http://channel9.msdn.com/Events/TechEd/Europe/2012/DEV334">my Tech Ed
talk</a>.</li>
<li>
<a href="http://blog.pluralsight.com/2012/12/11/meet-the-author-kate-gregory-on-introduction-to-visual-studio-2012-part-1/">Pluralsight
interview</a>: This is specifically about my <a href="http://pluralsight.com/training/courses/TableOfContents?courseName=vs2012-intro-part1&amp;utm_source=pluralsight&amp;utm_medium=blog&amp;utm_content=meet-the-author&amp;utm_campaign=content-marketing">Using
Visual Studio 2012</a> course. You can download the audio or read the transcript as
you prefer.&nbsp; My favourite quote from the conversation:</li>
</ul>
<blockquote><blockquote><i>It’s not just like, oh, I saved five seconds. I can go
home five seconds earlier today. It’s that you’re less likely to forget what you were
doing because you don’t have to put so much time into the mechanics and you just stay
in flow. And to me, that’s a ramping up of two or three times the amount of code I
can produce when I use everything the tool has to offer.</i></blockquote></blockquote>
<ul>
<li>
<a href="http://www.dotnetrocks.com/default.aspx?showNum=833">Dot Net Rocks panel
at DevIntersection</a>: Here Scott Allen, Michele Leroux Bustamante, Woody Pewitt,
and I discuss whatever we feel like, with occasional leading questions from Carl and
Richard, and some Canadian whisky too.</li>
</ul>
<p>
Even though I haven't been blogging much, I have been doing a lot, and I hope these
links will help you to discover some of it.
</p>
<p>
Kate<br>
</p>
<img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=fa8ca79b-c8ad-4132-b302-8899e8db6408" />http://www.gregcons.com/KateBlog/CommentView.aspx?guid=fa8ca79b-c8ad-4132-b302-8899e8db6408C++Canadian ColourClient DevelopmentConcurrencyConsulting LifeSeen and RecommendedSpeakingVisual Studio 11Windows 8http://www.gregcons.com/KateBlog/Trackback.aspx?guid=c6e7689e-bcd6-4ea4-9ed8-c7b94ceea5f0http://www.gregcons.com/KateBlog/pingback.aspxhttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=c6e7689e-bcd6-4ea4-9ed8-c7b94ceea5f0Kate Gregoryhttp://www.gregcons.com/KateBlog/CommentView.aspx?guid=c6e7689e-bcd6-4ea4-9ed8-c7b94ceea5f0http://www.gregcons.com/KateBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=c6e7689e-bcd6-4ea4-9ed8-c7b94ceea5f0

While I was in Nashville as part of the Dot Net Rocks Roadtrip, we recorded an episode
of The Tablet Show. The recording
is online now and I'll have to give it a listen myself to remember what we talked
about - Hilo, for sure, and C++
AMP, and just generally why C++ can be a great choice for tablet development.

Kate

Nashville Episode of The Tablet Show is live nowhttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=c6e7689e-bcd6-4ea4-9ed8-c7b94ceea5f0http://www.gregcons.com/KateBlog/NashvilleEpisodeOfTheTabletShowIsLiveNow.aspx
Tue, 20 Nov 2012 18:30:44 GMT<p>
While I was in Nashville as part of the Dot Net Rocks Roadtrip, we recorded an episode
of The Tablet Show. The <a href="http://www.thetabletshow.com/default.aspx?ShowNum=59">recording
is online </a>now and I'll have to give it a listen myself to remember what we talked
about - <a href="http://hilo.codeplex.com/">Hilo</a>, for sure, and<a href="http://www.gregcons.com/cppamp/"> C++
AMP</a>, and just generally why C++ can be a great choice for tablet development.
</p>
<p>
Kate<br>
</p>
<img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=c6e7689e-bcd6-4ea4-9ed8-c7b94ceea5f0" />http://www.gregcons.com/KateBlog/CommentView.aspx?guid=c6e7689e-bcd6-4ea4-9ed8-c7b94ceea5f0C++Client DevelopmentConcurrencyConsulting LifeSeen and RecommendedSpeakinghttp://www.gregcons.com/KateBlog/Trackback.aspx?guid=9e3fa0d6-44c9-4215-a18c-63beb4fcc0d8http://www.gregcons.com/KateBlog/pingback.aspxhttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=9e3fa0d6-44c9-4215-a18c-63beb4fcc0d8Kate Gregoryhttp://www.gregcons.com/KateBlog/CommentView.aspx?guid=9e3fa0d6-44c9-4215-a18c-63beb4fcc0d8http://www.gregcons.com/KateBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=9e3fa0d6-44c9-4215-a18c-63beb4fcc0d8

Don McCrady, who with Jim Radigan did an
inspiring talk on performance at Build this year, has blogged
about a proof-of-concept project that adds C++ AMP to CLANG and LLVM using OpenCL
underneath instead of using DirectX the way Visual Studio does. This is super cool!
As Don says:

When Microsoft announced
C++ AMP back in June 2011, we told you that we would release the C++
AMP specification under the Microsoft Community
Promise – essentially opening up the specification to allow any C++ compiler implementer
to add C++ AMP to their compiler. Shevlin Park serves as an example of the platform
portability potential intended by the Community Promise.

Do read Don's post and follow the links to learn more about Shevlin Park. The praise
for C++ AMP as a programming model, and the likelihood that multiple compilers will
support it, should make you feel all warm and fuzzy about learning it. You might even
want to use my book to do so :-)

Kate

C++ AMP in another compiler - not just a theory nowhttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=9e3fa0d6-44c9-4215-a18c-63beb4fcc0d8http://www.gregcons.com/KateBlog/CAMPInAnotherCompilerNotJustATheoryNow.aspx
Fri, 16 Nov 2012 18:19:40 GMT<p>
Don McCrady, who with Jim Radigan did <a href="http://channel9.msdn.com/Events/Build/2012/3-013">an
inspiring talk on performance</a> at Build this year, has <a href="http://blogs.msdn.com/b/nativeconcurrency/archive/2012/11/16/introducing-shevlin-park-a-proof-of-concept-c-amp-implementation-on-opencl.aspx">blogged
about</a> a proof-of-concept project that adds C++ AMP to CLANG and LLVM using OpenCL
underneath instead of using DirectX the way Visual Studio does. This is super cool!
As Don says:
</p>
<blockquote>
<p>
When Microsoft <a href="http://blogs.msdn.com/b/somasegar/archive/2011/06/15/targeting-heterogeneity-with-c-amp-and-ppl.aspx">announced
C++ AMP</a> back in June 2011, we told you that we would release the <a href="http://download.microsoft.com/download/4/0/E/40EA02D8-23A7-4BD2-AD3A-0BFFFB640F28/CppAMPLanguageAndProgrammingModel.pdf">C++
AMP specification</a> under the Microsoft <a href="http://www.microsoft.com/openspecifications/en/us/programs/community-promise/default.aspx">Community
Promise</a> – essentially opening up the specification to allow any C++ compiler implementer
to add C++ AMP to their compiler. Shevlin Park serves as an example of the platform
portability potential intended by the Community Promise.
</p>
</blockquote>
<p>
Do read Don's post and follow the links to learn more about Shevlin Park. The praise
for C++ AMP as a programming model, and the likelihood that multiple compilers will
support it, should make you feel all warm and fuzzy about learning it. You might even
want to use <a href="http://www.gregcons.com/cppamp/">my book</a> to do so :-)
</p>
<p>
Kate<br>
</p>
<p>
<br>
</p>
<img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=9e3fa0d6-44c9-4215-a18c-63beb4fcc0d8" />http://www.gregcons.com/KateBlog/CommentView.aspx?guid=9e3fa0d6-44c9-4215-a18c-63beb4fcc0d8C++Client DevelopmentConcurrencySeen and RecommendedVisual Studio 11http://www.gregcons.com/KateBlog/Trackback.aspx?guid=4c756317-c52b-4c33-89da-63d4ea1069f2http://www.gregcons.com/KateBlog/pingback.aspxhttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=4c756317-c52b-4c33-89da-63d4ea1069f2Kate Gregoryhttp://www.gregcons.com/KateBlog/CommentView.aspx?guid=4c756317-c52b-4c33-89da-63d4ea1069f2http://www.gregcons.com/KateBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=4c756317-c52b-4c33-89da-63d4ea1069f2

Day 4 was the first time I started to experience what some others had been complaining
about with not being able to get into the room for a popular talk. I guess I'll just
have to watch the recording.

I remembered to take some pictures of the signage that directed us around to help
cope with being in two different buildings plus the tents:

And the map on the ground outside the building:

There were also people holding giant arrows to point attendees towards lunch or
shuttles or whatever. It would have been extra-ordinarily difficult to get lost.

Finally I had to accept it was ending. They were even tearing the tent down already:

I used the airport WiFi to download sessions to watch on the way home. Good week,
Microsoft!

KateScenes from Build 2012 - Day 4http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=4c756317-c52b-4c33-89da-63d4ea1069f2http://www.gregcons.com/KateBlog/ScenesFromBuild2012Day4.aspx
Sat, 03 Nov 2012 17:11:03 GMT<p>
Day 4 was the first time I started to experience what some others had been complaining
about with not being able to get into the room for a popular talk. I guess I'll just
have to watch the recording.
</p>
<p>
I remembered to take some pictures of the signage that directed us around to help
cope with being in two different buildings plus the tents:
</p>
<img src="http://www.gregcons.com/KateBlog/content/binary/directionsign.jpg" border="0">
<br>
<br>
And the map on the ground outside the building:<br>
<br>
<br>
<img src="http://www.gregcons.com/KateBlog/content/binary/youarehere.jpg" border="0">
<br>
<a href="http://channel9.msdn.com/Events/Build/2012/2-005">
<br>
</a>There were also people holding giant arrows to point attendees towards lunch or
shuttles or whatever. It would have been extra-ordinarily difficult to get lost.
<br>
<br>
<a href="http://channel9.msdn.com/Events/Build/2012/2-005">Herb's session Friday</a> was
everything it had promised to be. I just love the idea of <a href="http://isocpp.org/">http://isocpp.org/</a> and
I intend to make good use of it when people ask me "getting started" questions.
<br>
<br>
Finally I had to accept it was ending. They were even tearing the tent down already:<br>
<br>
<br>
<img src="http://www.gregcons.com/KateBlog/content/binary/tentdown.jpg" border="0">
<br>
<br>
I used the airport WiFi to download sessions to watch on the way home. Good week,
Microsoft!<br>
<br>
Kate<br>
<img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=4c756317-c52b-4c33-89da-63d4ea1069f2" />http://www.gregcons.com/KateBlog/CommentView.aspx?guid=4c756317-c52b-4c33-89da-63d4ea1069f2C++Client DevelopmentConsulting LifeTravelhttp://www.gregcons.com/KateBlog/Trackback.aspx?guid=76dcfdcd-0b74-4ec6-8cf9-0586a26f545fhttp://www.gregcons.com/KateBlog/pingback.aspxhttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=76dcfdcd-0b74-4ec6-8cf9-0586a26f545fKate Gregoryhttp://www.gregcons.com/KateBlog/CommentView.aspx?guid=76dcfdcd-0b74-4ec6-8cf9-0586a26f545fhttp://www.gregcons.com/KateBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=76dcfdcd-0b74-4ec6-8cf9-0586a26f545f

One of the stickers for the badge this year was to attend an 8:30 session. I achieved
that by going to Alive
with activity: Tiles, notifications, and background tasks which, to be honest,
I chose as much to see what Kraig Brockschmidt is doing lately as to learn about tiles
and toast. But I'm glad I went, because it was a very good talk.

I've come to Redmond so many times, but I never particularly noticed the colours changing.
This week they've been spectacular. I had some meetings in other buildings so I was
able to get out of the giant lines at least long enough to take pictures of the giant
lines :-)

And yes, it rained, but they were ready for that:

I really like the vibe that came from being on campus. Speakers tended to get up from
their desks, jump on a shuttle or walk over, pull on the shirt and talk to us. I really
got the sense we were being welcomed into their home.

KateScenes from Build 2012 - Day 3http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=76dcfdcd-0b74-4ec6-8cf9-0586a26f545fhttp://www.gregcons.com/KateBlog/ScenesFromBuild2012Day3.aspx
Fri, 02 Nov 2012 17:00:10 GMT<p>
One of the stickers for the badge this year was to attend an 8:30 session. I achieved
that by going to <a href="http://channel9.msdn.com/Events/Build/2012/3-101">Alive
with activity: Tiles, notifications, and background tasks</a> which, to be honest,
I chose as much to see what Kraig Brockschmidt is doing lately as to learn about tiles
and toast. But I'm glad I went, because it was a very good talk.
</p>
<p>
<img src="http://www.gregcons.com/KateBlog/content/binary/fallcolours.jpg" border="0">
</p>
<p>
I've come to Redmond so many times, but I never particularly noticed the colours changing.
This week they've been spectacular. I had some meetings in other buildings so I was
able to get out of the giant lines at least long enough to take pictures of the giant
lines :-)
</p>
<p>
<br>
</p>
<p>
</p>
<img src="http://www.gregcons.com/KateBlog/content/binary/lunchwalk.jpg" border="0">
<br>
<br>
And yes, it rained, but they were ready for that:<br>
<br>
<br>
<img src="http://www.gregcons.com/KateBlog/content/binary/umbrellas.jpg" border="0">
<br>
<br>
I really like the vibe that came from being on campus. Speakers tended to get up from
their desks, jump on a shuttle or walk over, pull on the shirt and talk to us. I really
got the sense we were being welcomed into their home.
<br>
<br>
I also went to <a href="http://channel9.msdn.com/Events/Build/2012/3-001">Tips for
building a Windows Store app using XAML and C++: The Hilo project</a> - how could
I not, since I was on the project. Excellent summary of some hard-learned lessons
and one you should totally download and watch.
<br>
<br>
Kate<br>
<img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=76dcfdcd-0b74-4ec6-8cf9-0586a26f545f" />http://www.gregcons.com/KateBlog/CommentView.aspx?guid=76dcfdcd-0b74-4ec6-8cf9-0586a26f545fC++Client DevelopmentConsulting LifeSeen and RecommendedTravelVisual Studio 11Windows 8http://www.gregcons.com/KateBlog/Trackback.aspx?guid=6ae0f526-a40b-4215-bfe1-9f8e5ecbb5fahttp://www.gregcons.com/KateBlog/pingback.aspxhttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=6ae0f526-a40b-4215-bfe1-9f8e5ecbb5faKate Gregoryhttp://www.gregcons.com/KateBlog/CommentView.aspx?guid=6ae0f526-a40b-4215-bfe1-9f8e5ecbb5fahttp://www.gregcons.com/KateBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=6ae0f526-a40b-4215-bfe1-9f8e5ecbb5fa
Build this year is less focused on announcing
things (though the Windows phone and native C++ material is brand new) and more on
drilling down into topics that we've had a year to experiment with and want some deep
study on. Most of the speakers are from product teams. What's fun for me is that most
of the attendees are very motivated and here to learn.

This room was standing room only. It's possible all the C++ talks were, I don't always
sit at the back where I can see whether people are standing back there or not. And
you may not be able to tell from the picture but there were plenty of young developers
there too.

There was also a nice session
on Project Austin which is a lovely reference app showing how to use DirectX in
a Windows Store app. You can get the code from
Codeplex and take a look at it yourself or just use it to take beautiful notes
on a tablet.

Speaking of reference apps, Hilo (which I've written about before) is now an
official sample in the SDK and on the Dev Center. There's a Hilo
session here at Build too. Within a day or two these links should have recordings
and slides for you to download.

Scenes from Build 2012 - Day 2http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=6ae0f526-a40b-4215-bfe1-9f8e5ecbb5fahttp://www.gregcons.com/KateBlog/ScenesFromBuild2012Day2.aspx
Thu, 01 Nov 2012 00:45:47 GMTBuild this year is less focused on announcing things (though the Windows phone and native C++ material is brand new) and more on drilling down into topics that we've had a year to experiment with and want some deep study on. Most of the speakers are from product teams. What's fun for me is that most of the attendees are very motivated and here to learn.<br>
<br>
I'm also enjoying how full the rooms are for C++ sessions. Here's <a href="http://channel9.msdn.com/Events/Build/2012/3-000">Tarek's
Day 1 session</a>:<br>
<br>
<p>
</p>
<img src="http://www.gregcons.com/KateBlog/content/binary/tarekroom.jpg" border="0">
<br>
<br>
BTW, that was session 3-000 demonstrating that (a) the sessions are numbered using
zero-based indexing and (b) the C++ sessions were first on the list.
<br>
<br>
And here's the <a href="http://channel9.msdn.com/Events/Build/2012/3-013">C++ performance
talk </a>from right after the keynote this morning:<br>
<br>
<img src="http://www.gregcons.com/KateBlog/content/binary/perfroom.jpg" border="0">
<br>
<br>
This room was standing room only. It's possible all the C++ talks were, I don't always
sit at the back where I can see whether people are standing back there or not. And
you may not be able to tell from the picture but there were plenty of young developers
there too.<br>
<br>
There was also a nice <a href="http://channel9.msdn.com/Events/Build/2012/4-001">session
on Project Austin</a> which is a lovely reference app showing how to use DirectX in
a Windows Store app. You can get <a href="http://austin.codeplex.com/">the code from
Codeplex</a> and take a look at it yourself or just use it to take beautiful notes
on a tablet.<br>
<br>
Speaking of reference apps, Hilo (which I've written about before) is now <a href="http://code.msdn.microsoft.com/windowsapps/Hilo-C-sample-b53fd433">an
official sample </a>in the SDK and on the Dev Center. There's a <a href="http://channel9.msdn.com/Events/Build/2012/3-001">Hilo
session </a>here at Build too. Within a day or two these links should have recordings
and slides for you to download.<br>
<br>
Want to know more about C++ at Build? Here's <a href="http://herbsutter.com/2012/10/31/90-seconds-build-its-a-great-week-for-c/">less
than two minutes on just that topic</a>. If you can, please watch <a href="http://channel9.msdn.com/Events/Build/2012/2-005">Herb's
talk on Friday</a>. It promises to be exciting!<br>
<br>
Kate<br>
<br>
<img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=6ae0f526-a40b-4215-bfe1-9f8e5ecbb5fa" />http://www.gregcons.com/KateBlog/CommentView.aspx?guid=6ae0f526-a40b-4215-bfe1-9f8e5ecbb5faC++Client DevelopmentConcurrencySeen and RecommendedVisual Studio 11Windows 8http://www.gregcons.com/KateBlog/Trackback.aspx?guid=78844743-3cde-4b79-ac06-8f58f73b8bc7http://www.gregcons.com/KateBlog/pingback.aspxhttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=78844743-3cde-4b79-ac06-8f58f73b8bc7Kate Gregoryhttp://www.gregcons.com/KateBlog/CommentView.aspx?guid=78844743-3cde-4b79-ac06-8f58f73b8bc7http://www.gregcons.com/KateBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=78844743-3cde-4b79-ac06-8f58f73b8bc7
I arrived in Seattle Sunday night and filled
Monday with meetings, then lined up to register for Build. I'll spare you the photos
of the giant lineup that everyone else seems to have taken, and show you these delicious
cupcakes from the welcome reception:

For me the most exciting part of the lineup was the revised session schedule I was
handed, with lots of sessions on writing Windows Phone 8 apps in native C++. I cheerfully
added them to my schedule along with all the existing sessions on C++. (The sessions
are recorded so check
them out yourself!)

And I ended up at dinner with a lot of geeks. We were unable to resist a little side
by side comparison of our phones:

It sure made me want a 920 - good thing it turns out I'm getting one :-)

KateScenes from Build 2012 - Day 1http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=78844743-3cde-4b79-ac06-8f58f73b8bc7http://www.gregcons.com/KateBlog/ScenesFromBuild2012Day1.aspx
Tue, 30 Oct 2012 21:47:06 GMTI arrived in Seattle Sunday night and filled Monday with meetings, then lined up to register for Build. I'll spare you the photos of the giant lineup that everyone else seems to have taken, and show you these delicious cupcakes from the welcome reception:<br>
<br>
<p>
</p>
<img src="http://www.gregcons.com/KateBlog/content/binary/cupcakes.JPG" border="0">
<br>
<br>
For me the most exciting part of the lineup was the revised session schedule I was
handed, with lots of sessions on writing Windows Phone 8 apps in native C++. I cheerfully
added them to my schedule along with all the existing sessions on C++. (The sessions
are recorded so <a href="http://channel9.msdn.com/Events/Build/2012?sort=schedule&amp;direction=asc&amp;term=">check
them out yourself</a>!)<br>
<br>
And I ended up at dinner with a lot of geeks. We were unable to resist a little side
by side comparison of our phones:<br>
<br>
<br>
<img src="http://www.gregcons.com/KateBlog/content/binary/phones.jpg" border="0">
<br>
<br>
It sure made me want a 920 - good thing it turns out I'm getting one :-)<br>
<br>
Kate<br>
<img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=78844743-3cde-4b79-ac06-8f58f73b8bc7" />http://www.gregcons.com/KateBlog/CommentView.aspx?guid=78844743-3cde-4b79-ac06-8f58f73b8bc7C++Client DevelopmentTravelhttp://www.gregcons.com/KateBlog/Trackback.aspx?guid=3643d622-5660-49c2-a48c-c0224631653dhttp://www.gregcons.com/KateBlog/pingback.aspxhttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=3643d622-5660-49c2-a48c-c0224631653dKate Gregoryhttp://www.gregcons.com/KateBlog/CommentView.aspx?guid=3643d622-5660-49c2-a48c-c0224631653dhttp://www.gregcons.com/KateBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=3643d622-5660-49c2-a48c-c0224631653d

I really enjoyed my evening in Nashville. It was fun answering the question: C++ -
Why on earth? I think I even convinced a few of you.

Of course the biggest Nashville attraction for me is my friend Billy Hollis:

Look what a luxurious meeting room they have! Couches and tables and general comfort.
And yes, I got to see the inside of the RV:

Good times in Nashville with Dot Net Rockshttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=3643d622-5660-49c2-a48c-c0224631653dhttp://www.gregcons.com/KateBlog/GoodTimesInNashvilleWithDotNetRocks.aspx
Sat, 27 Oct 2012 21:31:18 GMT<p>
I really enjoyed my evening in Nashville. It was fun answering the question: C++ -
Why on earth? I think I even convinced a few of you.
</p>
<p>
Of course the biggest Nashville attraction for me is my friend Billy Hollis:
</p>
<p>
<img src="http://www.gregcons.com/KateBlog/content/binary/nashville-billyandrichard.jpg" border="0">
</p>
<p>
Look what a luxurious meeting room they have! Couches and tables and general comfort.
And yes, I got to see the inside of the RV:
</p>
<p>
<img src="http://www.gregcons.com/KateBlog/content/binary/nashville-rv.jpg" border="0">
</p>
<p>
If I got you interested in C++, you might like some links:
<br>
</p>
<ul>
<li>
<a href="http://www.gregcons.com/cppamp/">My C++ AMP book</a>
</li>
<li>
<a href="http://pluralsight.com/training/Authors/Details/kate-gregory">My courses
at Pluralsight</a> that include some nice C++ ones<br>
</li>
</ul>
<p>
</p>
<p>
Thanks for the visit, and I hope to be back!
</p>
<p>
Kate
</p>
<img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=3643d622-5660-49c2-a48c-c0224631653d" />http://www.gregcons.com/KateBlog/CommentView.aspx?guid=3643d622-5660-49c2-a48c-c0224631653dC++Client DevelopmentConcurrencySpeakingTravelVisual Studio 11http://www.gregcons.com/KateBlog/Trackback.aspx?guid=c7604020-775a-4dde-95aa-9fab6fc60911http://www.gregcons.com/KateBlog/pingback.aspxhttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=c7604020-775a-4dde-95aa-9fab6fc60911Kate Gregoryhttp://www.gregcons.com/KateBlog/CommentView.aspx?guid=c7604020-775a-4dde-95aa-9fab6fc60911http://www.gregcons.com/KateBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=c7604020-775a-4dde-95aa-9fab6fc609111

Microsoft and Stack Overflow are joining forces on a fun Windows
8 development contest. And since one of the strengths of StackOverlflow is how
the community reviews all the content, it only makes sense that there's a serious
review component to this contest! And it's not US-only (for once!) so as long as you're
over 18 and don't live in Cuba, Iran, North Korea, Sudan or Syria you're good to go.
Well, you need a StackOverflow account, but you needed one of those anyway, right?

Windows 8 app contest - you can win by entering or judginghttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=c7604020-775a-4dde-95aa-9fab6fc60911http://www.gregcons.com/KateBlog/Windows8AppContestYouCanWinByEnteringOrJudging.aspx
Fri, 19 Oct 2012 22:13:41 GMT<p>
Microsoft and Stack Overflow are joining forces on a fun <a href="http://apptivate.ms/contest">Windows
8 development contest</a>. And since one of the strengths of StackOverlflow is how
the community reviews all the content, it only makes sense that there's a serious
review component to this contest! And it's not US-only (for once!) so as long as you're
over 18 and don't live in Cuba, Iran, North Korea, Sudan or Syria you're good to go.
Well, you need a StackOverflow account, but you needed one of those anyway, right?
</p>
<p>
<a href="http://apptivate.ms/contest"><img src="http://www.gregcons.com/KateBlog/content/binary/apptivate.jpg" border="0"></a><a></a>
</p>
<p>
<a>Top prize is $5,000 and there are shiny achievements and everything - so </a><a href="http://apptivate.ms/contest">get
going</a>!
</p>
<p>
Kate
</p>
<img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=c7604020-775a-4dde-95aa-9fab6fc60911" />http://www.gregcons.com/KateBlog/CommentView.aspx?guid=c7604020-775a-4dde-95aa-9fab6fc60911Client DevelopmentSeen and RecommendedWindows 8http://www.gregcons.com/KateBlog/Trackback.aspx?guid=358ab02b-a472-41b1-aa9d-542182a3ccd0http://www.gregcons.com/KateBlog/pingback.aspxhttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=358ab02b-a472-41b1-aa9d-542182a3ccd0Kate Gregoryhttp://www.gregcons.com/KateBlog/CommentView.aspx?guid=358ab02b-a472-41b1-aa9d-542182a3ccd0http://www.gregcons.com/KateBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=358ab02b-a472-41b1-aa9d-542182a3ccd0
I love the fact that big-name speakers
are willing to come and speak at the East of Toronto .NET User Group. You don't have
to live in a big city (or struggle through big-city traffic on a visit) to keep up
to date with the latest technology and meet fellow developers. The latest example:

Beth Massi is a Senior Program Manager on the Visual Studio team at Microsoft. Beth
is a community champion for business application developers and has over 15 years
of industry experience building business apps. She is a frequent speaker at various
software development events and you can find her on a variety of developer sites including
MSDN Developer Centers, Channel
9, and her blog http://www.bethmassi.com.
Follow her on twitter @BethMassi

And what will she be talking about?

Visual Studio LightSwitch is the easiest way to create modern line of business applications
for the enterprise. In this session you will learn how LightSwitch helps you focus
your time on what makes your application unique, allowing you to easily implement
common business application scenarios—such as integrating multiple data sources, data
validation, authentication, and access control. See how LightSwitch in Visual Studio
2012 has embraced OData making it easy to consume as well as create interoperable
data services. Then see how LightSwitch makes it easy to deploy these services to
the Azure cloud and consume them from other client applications and platforms. You
will also see how the LightSwitch team is enabling mobile scenarios making it easy
to create HTML5/JavaScript companion clients for modern mobile devices.

KateBeth Massi at East of Toronto .NET User Grouphttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=358ab02b-a472-41b1-aa9d-542182a3ccd0http://www.gregcons.com/KateBlog/BethMassiAtEastOfTorontoNETUserGroup.aspx
Thu, 18 Oct 2012 21:43:53 GMTI love the fact that big-name speakers are willing to come and speak at the East of Toronto .NET User Group. You don't have to live in a big city (or struggle through big-city traffic on a visit) to keep up to date with the latest technology and meet fellow developers. The latest example:<br>
<br>
<p>
</p>
<a href="http://easttorontoug20121205.eventbrite.ca/#"><img src="http://www.gregcons.com/KateBlog/content/binary/bethmassi.jpg" border="0"></a>
<br>
<br>
<p>
As the <a href="http://easttorontoug20121205.eventbrite.ca/#">website </a>says:<br>
</p>
<blockquote>
<p>
Beth Massi is a Senior Program Manager on the Visual Studio team at Microsoft. Beth
is a community champion for business application developers and has over 15 years
of industry experience building business apps. She is a frequent speaker at various
software development events and you can find her on a variety of developer sites including
MSDN Developer Centers, <a href="http://channel9.msdn.com/blogs/funkyonex" target="_blank">Channel
9</a>, and her blog <a href="http://www.bethmassi.com" target="_blank">http://www.bethmassi.com</a>.
Follow her on twitter <a href="http://twitter.com/BethMassi" target="_blank">@BethMassi</a>
</p>
</blockquote>
<p>
And what will she be talking about?<br>
</p>
<blockquote>
<p>
Visual Studio LightSwitch is the easiest way to create modern line of business applications
for the enterprise. In this session you will learn how LightSwitch helps you focus
your time on what makes your application unique, allowing you to easily implement
common business application scenarios—such as integrating multiple data sources, data
validation, authentication, and access control. See how LightSwitch in Visual Studio
2012 has embraced OData making it easy to consume as well as create interoperable
data services. Then see how LightSwitch makes it easy to deploy these services to
the Azure cloud and consume them from other client applications and platforms. You
will also see how the LightSwitch team is enabling mobile scenarios making it easy
to create HTML5/JavaScript companion clients for modern mobile devices.
</p>
</blockquote>
<p>
When and where?<br>
</p>
<p>
<strong>Event Agenda</strong>
</p>
<table style="border-color: black; border-collapse: collapse;" id="Agenda" rules="all" cellspacing="0" border="1" height="65" width="388">
<tbody>
<tr style="font-weight: bold; background-color: gainsboro;">
<td>
Time</td>
<td>
Title</td>
</tr>
<tr>
<td>
6:30 - 7:00</td>
<td>
Socialize and refreshments</td>
</tr>
<tr>
<td>
7:00 - 8:30</td>
<td>
Presentation</td>
</tr>
</tbody>
</table>
<p>
</p>
<strong></strong><a href="http://binged.it/w4kQsr">Pickering Central Library</a> Auditorium
(2nd floor)<br>
<p>
One the Esplanade<br>
Pickering, ON L1V 6K7<br>
</p>
<a href="http://easttorontoug20121205.eventbrite.ca/#">Register now </a>- it's a good
way to spend a Wednesday night.<br>
<br>
Kate<br>
<img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=358ab02b-a472-41b1-aa9d-542182a3ccd0" />http://www.gregcons.com/KateBlog/CommentView.aspx?guid=358ab02b-a472-41b1-aa9d-542182a3ccd0Client DevelopmentSeen and Recommendedhttp://www.gregcons.com/KateBlog/Trackback.aspx?guid=7d768ea2-e64f-4713-975a-147c52135a6fhttp://www.gregcons.com/KateBlog/pingback.aspxhttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=7d768ea2-e64f-4713-975a-147c52135a6fKate Gregoryhttp://www.gregcons.com/KateBlog/CommentView.aspx?guid=7d768ea2-e64f-4713-975a-147c52135a6fhttp://www.gregcons.com/KateBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=7d768ea2-e64f-4713-975a-147c52135a6f

This three-day conference marks the final stop on the USA leg of the .NET Rocks! Visual
Studio 2012 Launch Road Trip! DevIntersection is a developer conference PLUS the recording
venue for the last stop of the three-month road trip hosted by Richard Campbell and
Carl Franklin. We're bringing together some of the best speakers (and our personal
friends) for a conference that is relaxed and educational, plus forward looking as
you and your company start to figure out what to do with Windows 8 and Visual Studio
for the next few years. Our attendees tend to be .NET software developers plus other
members of their teams. DevIntersection is an educational onsite conference for anyone
who is attached to a .NET development programming project who is looking to use Visual
Studio to develop apps for desktop, web and mobile platfoms.

I have two breakout sessions - one on C++ AMP and one on developing for the Windows
Store in C++. No .NET in either one of them; this is a conference for expanding your
horizons, after all.

For $1595 you get three full days of sessions. And if you register in October (hurry!)
you will also get a new tablet. Build sold out in hours, so this is your chance to
get access to deep and current information for developers across the Microsoft ecosystem.
See you there!

Kate

New Conference - DevIntersectionhttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=7d768ea2-e64f-4713-975a-147c52135a6fhttp://www.gregcons.com/KateBlog/NewConferenceDevIntersection.aspx
Wed, 17 Oct 2012 17:52:31 GMT<p>
Here's an amazing grand finale to the <a href="http://www.dotnetrocks.com/roadtrip.aspx">Dot
Net Rocks Roadtrip</a> this year -a full on <a href="http://www.devintersection.com/">developer
conference</a> in Las Vegas, Dec 9th - 12th.
</p>
<p>
<a href="http://www.devintersection.com/"><img src="http://www.gregcons.com/KateBlog/content/binary/DevInt_728x90.jpg" border="0"></a>
</p>
<p>
I love this answer to "<a href="https://www.devintersection.com/faq.aspx">What is
DevIntersection?</a>"
</p>
<blockquote>
<p>
This three-day conference marks the final stop on the USA leg of the .NET Rocks! Visual
Studio 2012 Launch Road Trip! DevIntersection is a developer conference PLUS the recording
venue for the last stop of the three-month road trip hosted by Richard Campbell and
Carl Franklin. We're bringing together some of the best speakers (and our personal
friends) for a conference that is relaxed and educational, plus forward looking as
you and your company start to figure out what to do with Windows 8 and Visual Studio
for the next few years. Our attendees tend to be .NET software developers plus other
members of their teams. DevIntersection is an educational onsite conference for anyone
who is attached to a .NET development programming project who is looking to use Visual
Studio to develop apps for desktop, web and mobile platfoms.
</p>
</blockquote>
<p>
I have two breakout sessions - one on C++ AMP and one on developing for the Windows
Store in C++. No .NET in either one of them; this is a conference for expanding your
horizons, after all.<br>
</p>
<p>
For $1595 you get three full days of sessions. And if you register in October (hurry!)
you will also get a new tablet. Build sold out in hours, so this is your chance to
get access to deep and current information for developers across the Microsoft ecosystem.
See you there!
</p>
<p>
Kate<br>
</p>
<img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=7d768ea2-e64f-4713-975a-147c52135a6f" />http://www.gregcons.com/KateBlog/CommentView.aspx?guid=7d768ea2-e64f-4713-975a-147c52135a6fC++Client DevelopmentConcurrencyConsulting LifeRDSpeakingTravelVisual Studio 11Windows 8http://www.gregcons.com/KateBlog/Trackback.aspx?guid=3bbe13f1-90bf-4e6b-a791-bb2819b76dc9http://www.gregcons.com/KateBlog/pingback.aspxhttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=3bbe13f1-90bf-4e6b-a791-bb2819b76dc9Kate Gregoryhttp://www.gregcons.com/KateBlog/CommentView.aspx?guid=3bbe13f1-90bf-4e6b-a791-bb2819b76dc9http://www.gregcons.com/KateBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=3bbe13f1-90bf-4e6b-a791-bb2819b76dc9

Hilo is a reference project written in C++/CX for Windows 8 by the Patterns and Practices
team. I was delighted to be part of this project and think it turned out very well.
I use the Hilo codebase to remind myself how to do certain things when writing a Windows
Store app in C++ (something I'm in the middle of doing for another project.) The accompanying
document is rich in best practices for Windows 8 development, async work, modern C++,
unit testing, and more. Now the latest version has
been released, updated for Windows 8 RTM.

Hilo itself is a photo viewer. Before you roll your eyes, bear with me. I actually
think it's better than the one that ships with Windows 8. It shows you some of your
pictures as a sort of overview:

Click on one to interact with it. You can right-click to bring up both the app bar
at the bottom and a nice strip-navigation control at the top:

If you want to see something cool, use Cartoon Effect. This leverages C++ AMP to cartoonize
the picture. I've shopped this image a little to reduce the width (pulled the appbar
in from the edges) but the cartoon work was done by Hilo - and super quickly.

If you have any thoughts of writing Windows Store apps, and C++ is a possibility for
you, get over to Codeplex, download the Hilo
code and the .chm file, and get reading!

Kate

Hilo has been updated for Windows 8 RTMhttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=3bbe13f1-90bf-4e6b-a791-bb2819b76dc9http://www.gregcons.com/KateBlog/HiloHasBeenUpdatedForWindows8RTM.aspx
Mon, 15 Oct 2012 17:17:12 GMT<p>
Hilo is a reference project written in C++/CX for Windows 8 by the Patterns and Practices
team. I was delighted to be part of this project and think it turned out very well.
I use the Hilo codebase to remind myself how to do certain things when writing a Windows
Store app in C++ (something I'm in the middle of doing for another project.) The accompanying
document is rich in best practices for Windows 8 development, async work, modern C++,
unit testing, and more. Now <a href="http://hilo.codeplex.com">the latest version</a> has
been released, updated for Windows 8 RTM.
</p>
<p>
Hilo itself is a photo viewer. Before you roll your eyes, bear with me. I actually
think it's better than the one that ships with Windows 8. It shows you some of your
pictures as a sort of overview:
</p>
<p>
<img src="http://www.gregcons.com/KateBlog/content/binary/hilo shot.jpg" border="0" width="600">
</p>
<p>
Click on one to interact with it. You can right-click to bring up both the app bar
at the bottom and a nice strip-navigation control at the top:
</p>
<p>
<img src="http://www.gregcons.com/KateBlog/content/binary/hilo2.jpg" border="0">
</p>
<p>
If you want to see something cool, use Cartoon Effect. This leverages C++ AMP to cartoonize
the picture. I've shopped this image a little to reduce the width (pulled the appbar
in from the edges) but the cartoon work was done by Hilo - and super quickly.
</p>
<p>
<img src="http://www.gregcons.com/KateBlog/content/binary/hilo3.jpg" border="0">
</p>
<p>
If you have any thoughts of writing Windows Store apps, and C++ is a possibility for
you, get over to <a href="http://hilo.codeplex.com">Codeplex</a>, download the Hilo
code and the .chm file, and get reading!
</p>
<p>
Kate
</p>
<img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=3bbe13f1-90bf-4e6b-a791-bb2819b76dc9" />http://www.gregcons.com/KateBlog/CommentView.aspx?guid=3bbe13f1-90bf-4e6b-a791-bb2819b76dc9C++Client DevelopmentConcurrencyConsulting LifeSeen and RecommendedVisual Studio 11Windows 8http://www.gregcons.com/KateBlog/Trackback.aspx?guid=88ebe77c-7b05-45f1-8960-b27fde683521http://www.gregcons.com/KateBlog/pingback.aspxhttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=88ebe77c-7b05-45f1-8960-b27fde683521Kate Gregoryhttp://www.gregcons.com/KateBlog/CommentView.aspx?guid=88ebe77c-7b05-45f1-8960-b27fde683521http://www.gregcons.com/KateBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=88ebe77c-7b05-45f1-8960-b27fde6835211
I’ve been writing a book, though I swore
I wouldn’t write any more books, and it’s finally done! You can buy a Kindle version
from Amazon or an e-book directly from O’Reilly today. The paper copies will be ready
in about a week and you can order them from O’Reilly or Amazon. The book is published
by Microsoft Press, but O’Reilly handles the actual production of the books.

I’ve got a page dedicated to the book with
links for you to buy it, get the code, submit errata, and whatever else you might
want. (If you think something’s missing, comment here and I’ll try to take care of
it.)

KateThe C++ AMP book is printed!http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=88ebe77c-7b05-45f1-8960-b27fde683521http://www.gregcons.com/KateBlog/TheCAMPBookIsPrinted.aspx
Fri, 28 Sep 2012 18:50:54 GMTI’ve been writing a book, though I swore I wouldn’t write any more books, and it’s finally done! You can buy a Kindle version from Amazon or an e-book directly from O’Reilly today. The paper copies will be ready in about a week and you can order them from O’Reilly or Amazon. The book is published by Microsoft Press, but O’Reilly handles the actual production of the books.<p>
</p>
<img src="http://www.gregcons.com/KateBlog/content/binary/cover.jpg" border="0">
<br>
&nbsp;I’ve got <a href="http://www.gregcons.com/cppamp/">a page dedicated to the book</a> with
links for you to buy it, get the code, submit errata, and whatever else you might
want. (If you think something’s missing, comment here and I’ll try to take care of
it.)<br>
<br>
Kate<br>
<img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=88ebe77c-7b05-45f1-8960-b27fde683521" />http://www.gregcons.com/KateBlog/CommentView.aspx?guid=88ebe77c-7b05-45f1-8960-b27fde683521C++Client DevelopmentConcurrencyConsulting LifeSeen and RecommendedVisual Studio 11http://www.gregcons.com/KateBlog/Trackback.aspx?guid=82dd86ec-860d-4dd4-bcb3-4ba9314d1398http://www.gregcons.com/KateBlog/pingback.aspxhttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=82dd86ec-860d-4dd4-bcb3-4ba9314d1398Kate Gregoryhttp://www.gregcons.com/KateBlog/CommentView.aspx?guid=82dd86ec-860d-4dd4-bcb3-4ba9314d1398http://www.gregcons.com/KateBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=82dd86ec-860d-4dd4-bcb3-4ba9314d1398

I love writing courses for Pluralsight.
I have quite a few and am working on more
right now. They like to interview their authors about each course. Here's
one about my latest for them. If you’ve done the whole course you won’t learn
anything new from the interview, but if you’re curious about writing what we’re now
calling Windows Store applications for Windows 8 using C++ and Visual Studio, perhaps
this interview will help you decide whether it’s something you want to learn. There’s
a transcript as well as an audio link.

We now have a Windows
Phone application in the marketplace. We wrote it for ourselves, to learn the
framework and to give us a way to track how we spend our time. The minute we started
designing it, we discovered everyone in the company wanted a different way to track.
People who do pretty much the same thing all the time (coding, for example) wanted
to track project-by-project. People who work on only one project at a time wanted
to differentiate between types of work, like meetings or email or writing documents.
We decided to make it as simple and flexible as we could. I was inspired by a story
of a time tracking technique involving physical objects. You get 5-10 paper cups and
write things on the cups like Email, Meetings, and so on. Then you get 32 poker chips,
all the same colour. As each 15-minute piece of time goes by, you toss a chip into
the cup. It is supposed to help you understand that you very literally “spend” your
time. And at the end of the day you can look in the cups and see where your day went.

If you’d like to track your time
like this – hit the + button to toss a “15 minute” square into a particular “bucket”
or just hit the falling drops button to accumulate time in one bucket until you change
tasks – please try our app and let
me know how it works for you.

We talk about C++ and why it has advantages over managed code in some cases, about
C++ AMP, and about tablets, leading to this moment:

It's just a 7 minute video, so give it a listen!

KateProphetic interviewhttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=dbb7a34a-61c3-41ec-995b-ea7d3f5adf8dhttp://www.gregcons.com/KateBlog/PropheticInterview.aspx
Tue, 26 Jun 2012 06:18:02 GMTAs I am soon to discover first-hand, Australia is a very long way from North America. So when Adam Cogan makes the trip, he often extends his stay to see more people or places. Last September when we all gathered for //build/, Adam tacked a mini Canada tour onto his North American stay and we got together for a quick chat near my home. Part of it was filmed and (after a long delay to cope with the sound issues) is <a href="http://tv.ssw.com/?p=1882">now
available</a> on the SSW TV site.<br>
<br>
We talk about C++ and why it has advantages over managed code in some cases, about
C++ AMP, and about tablets, leading to this moment:<br>
<br>
<p>
</p>
<img src="http://www.gregcons.com/KateBlog/content/binary/adam.jpg" border="0">
<br>
<br>
It's just a 7 minute video, so give it a listen!<br>
<br>
Kate<br>
<img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=dbb7a34a-61c3-41ec-995b-ea7d3f5adf8d" />http://www.gregcons.com/KateBlog/CommentView.aspx?guid=dbb7a34a-61c3-41ec-995b-ea7d3f5adf8dC++Canadian ColourClient DevelopmentConcurrencyConsulting LifeSpeakingVisual Studio 11Windows 8http://www.gregcons.com/KateBlog/Trackback.aspx?guid=8d2b53e5-a15d-41d5-a0b8-1aad628f0017http://www.gregcons.com/KateBlog/pingback.aspxhttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=8d2b53e5-a15d-41d5-a0b8-1aad628f0017Kate Gregoryhttp://www.gregcons.com/KateBlog/CommentView.aspx?guid=8d2b53e5-a15d-41d5-a0b8-1aad628f0017http://www.gregcons.com/KateBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=8d2b53e5-a15d-41d5-a0b8-1aad628f0017

I've been putting my schedule together for the talks I want to attend at Tech
Ed North America and Tech Ed Europe this
year. While I wasn't looking, a bunch more C++ content was added.

Plus some language agnostic sessions that chose to put C++ in their session descriptions,
which is a new thing these days.

Now as it happens, Tech Ed North America is sold
out, so if you're not registered yet, you have three choices: join the waiting
list, watch these sessions online, or get your boss to agree to a slightly larger
T&E budget and head to Tech Ed Europe in Amsterdam just two weeks later. There
we will have:

One way or another, please attend or watch these sessions. There's a lot of new stuff
happening!

Kate

Even more C++ content at both Tech Edshttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=8d2b53e5-a15d-41d5-a0b8-1aad628f0017http://www.gregcons.com/KateBlog/EvenMoreCContentAtBothTechEds.aspx
Tue, 29 May 2012 21:31:56 GMT<p>
I've been putting my schedule together for the talks I want to attend at <a href="http://northamerica.msteched.com/">Tech
Ed North America</a> and <a href="http://europe.msteched.com/">Tech Ed Europe</a> this
year. While I wasn't looking, a bunch more C++ content was added.<br>
<br>
In Orlando:
</p>
<ul>
<li>
PRC08, my all day Sunday precon: <a href="http://northamerica.msteched.com/topic/details/2012/PRC08">C++
in Visual Studio 11: Modern, Readable, Safe, Fast</a>
</li>
<li>
DEV316, Wednesday at 8:30 am: <a href="http://northamerica.msteched.com/topic/details/2012/DEV316">Application
Lifecycle Management Tools for C++ in Visual Studio 11</a> by Rong Lu<br>
</li>
<li>
DEV334, Wednesday at 5:00 pm: <a href="http://northamerica.msteched.com/topic/details/2012/DEV334">C++
Accelerated Massive Parallelism in Visual C++ 11</a> by me</li>
<li>
DEV322, Thursday at 4:30 pm: <a href="http://northamerica.msteched.com/topic/details/2012/DEV322">Building
Windows 8 Metro style Apps with Visual C++ 11</a> by Raman Sharma&nbsp;</li>
</ul>
<p>
Plus some language agnostic sessions that chose to put C++ in their session descriptions,
which is a new thing these days.
</p>
<p>
Now as it happens, Tech Ed North America is <a href="http://northamerica.msteched.com/blog/2012/05/25/TechEd-North-America-2012-is-sold-out">sold
out</a>, so if you're not registered yet, you have three choices: join the waiting
list, watch these sessions online, or get your boss to agree to a slightly larger
T&amp;E budget and head to Tech Ed Europe in Amsterdam just two weeks later. There
we will have:
</p>
<ul>
<li>
PRC08, my all day Monday precon: C++ in Visual Studio 11: Modern, Readable, Safe,
Fast</li>
<li>
DEV316, Tuesday at 4:30 pm: Application Lifecycle Management Tools for C++ in Visual
Studio 11 by Rong Lu</li>
<li>
DEV368, Wednesday at 2:45 pm: Visual C++ and the Native Renaissance by Steve Teixeira</li>
<li>
DEV322, Thursday at 8:30 am: Building Windows 8 Metro style Apps with Visual C++ 11
by Rong Lu</li>
<li>
DEV367, Thursday at 4:30: Building Windows 8 Metro Style Apps With C++ by Steve Teixeira<br>
</li>
<li>
DEV334, Friday at 1:00 pm: C++ Accelerated Massive Parallelism in Visual C++ 11 by
me<br>
</li>
</ul>
<p>
(Europe doesn't have direct links to the sessions, but they do allow links to the <a href="http://europe.msteched.com/Sessions?q=C%2B%2B">search
for C++</a>.) I'll have to miss Steve's talk because <a href="http://www.gregcons.com/KateBlog/SpeakingAtTheBelgiumCUsersGroup.aspx">Rong
and I are going to Belgium</a>, so that one I'll be watching online.&nbsp;
</p>
<p>
One way or another, please attend or watch these sessions. There's a lot of new stuff
happening!
</p>
<p>
Kate<br>
</p>
<img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=8d2b53e5-a15d-41d5-a0b8-1aad628f0017" />http://www.gregcons.com/KateBlog/CommentView.aspx?guid=8d2b53e5-a15d-41d5-a0b8-1aad628f0017C++Client DevelopmentConcurrencySeen and RecommendedSpeakingTravelVisual Studio 11Windows 8http://www.gregcons.com/KateBlog/Trackback.aspx?guid=7d939d85-46ac-45dd-99df-2ede5a662d37http://www.gregcons.com/KateBlog/pingback.aspxhttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=7d939d85-46ac-45dd-99df-2ede5a662d37Kate Gregoryhttp://www.gregcons.com/KateBlog/CommentView.aspx?guid=7d939d85-46ac-45dd-99df-2ede5a662d37http://www.gregcons.com/KateBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=7d939d85-46ac-45dd-99df-2ede5a662d37
I am having a very lucky year. I've been
nominated and accepted as a judge at
the Worldwide finals of the Imagine Cup. I love being around students, and everything
I've heard about Imagine Cup tells me that the energy, excitement, and creativity
is marvelous to be part of. While I'm there, I decided to stay an extra day (July
11th) so I can offer my one-day C++ training to those who can't make it to Tech Ed
in Orlando or Amsterdam. Here's what I'll cover:

Modern C++ with the Standard Library

Application Lifecycle Management for Visual C++ 11

Leveraging Lambdas for the PPL and C++ AMP

Best practices for C++ developers today

This is not a free session, but the price is even lower than the Tech Ed precons since
I don't have travel expenses to get down there and see you all. If you live in Australia,
please register and
take advantage of this chance to come and learn what's been going on with C++ while
you weren't looking! And if you don't, I'd appreciate it if you could spread the word
to those who do.

Kate

Another opportunity for all-day C++ traininghttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=7d939d85-46ac-45dd-99df-2ede5a662d37http://www.gregcons.com/KateBlog/AnotherOpportunityForAlldayCTraining.aspx
Tue, 29 May 2012 01:04:29 GMTI am having a very lucky year. I've been nominated and accepted as a <a href="http://www.imaginecup.com/CompetitionsContent/JudgeBio.aspx">judge </a>at
the Worldwide finals of the Imagine Cup. I love being around students, and everything
I've heard about Imagine Cup tells me that the energy, excitement, and creativity
is marvelous to be part of. While I'm there, I decided to stay an extra day (July
11th) so I can offer my one-day C++ training to those who can't make it to Tech Ed
in Orlando or Amsterdam. Here's what I'll cover:<br>
<ul>
<li>
Modern C++ with the Standard Library
<br>
</li>
<li>
Application Lifecycle Management for Visual C++ 11</li>
<li>
Leveraging Lambdas for the PPL and C++ AMP</li>
<li>
Best practices for C++ developers today</li>
</ul>
<p>
This is not a free session, but the price is even lower than the Tech Ed precons since
I don't have travel expenses to get down there and see you all. If you live in Australia,
please <a href="http://www.ssw.com.au/ssw/events/Training/VS-Dev-11.aspx">register</a> and
take advantage of this chance to come and learn what's been going on with C++ while
you weren't looking! And if you don't, I'd appreciate it if you could spread the word
to those who do.
</p>
<p>
Kate<br>
</p>
<p>
</p>
<img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=7d939d85-46ac-45dd-99df-2ede5a662d37" />http://www.gregcons.com/KateBlog/CommentView.aspx?guid=7d939d85-46ac-45dd-99df-2ede5a662d37C++Client DevelopmentConsulting LifeSeen and RecommendedSpeakingTravelVisual Studio 11http://www.gregcons.com/KateBlog/Trackback.aspx?guid=d856d0e1-baea-47d4-a4db-fd0cd1ca8479http://www.gregcons.com/KateBlog/pingback.aspxhttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=d856d0e1-baea-47d4-a4db-fd0cd1ca8479Kate Gregoryhttp://www.gregcons.com/KateBlog/CommentView.aspx?guid=d856d0e1-baea-47d4-a4db-fd0cd1ca8479http://www.gregcons.com/KateBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=d856d0e1-baea-47d4-a4db-fd0cd1ca8479
Some people really go above and beyond
for community. They have an idea, and then they make it happen. Take Marc
Gregoire, for example. Our names are similar, and we both care about community,
C++, and related topics, but we've never met. That didn't stop him from emailing me
to see if I would do a user group talk while I was nearby for Tech Ed Europe. Of course
I would! And then he arranged for Rong Lu from the C++ team to come and do one as
well. Marc has done all the work of getting the room, the travel arrangements, you
name it. All I have to do is take a short scenic train ride, and talk about a topic
I'm excited about. That part is easy. The organizing part is hard.

It's going to be a very fun evening. I'm going to talk about C++ AMP, and Rong will
cover what's new in VC++ 11. I've seen her speak before, and I know you're going to
enjoy it. Be there, Wednesday June 27th at the Microsoft offices in Brussels. (I was
kinda hoping for Tuesday, so I could make
a joke, but Wednesday will be fine.) You need to register,
so please do!

Kate

Speaking at the Belgium C++ Users Grouphttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=d856d0e1-baea-47d4-a4db-fd0cd1ca8479http://www.gregcons.com/KateBlog/SpeakingAtTheBelgiumCUsersGroup.aspx
Mon, 28 May 2012 00:49:12 GMTSome people really go above and beyond for community. They have an idea, and then they make it happen. Take <a href="http://www.nuonsoft.com/blog/">Marc
Gregoire</a>, for example. Our names are similar, and we both care about community,
C++, and related topics, but we've never met. That didn't stop him from emailing me
to see if I would do a user group talk while I was nearby for Tech Ed Europe. Of course
I would! And then he arranged for Rong Lu from the C++ team to come and do one as
well. Marc has done all the work of getting the room, the travel arrangements, you
name it. All I have to do is take a short scenic train ride, and talk about a topic
I'm excited about. That part is easy. The organizing part is hard.<br>
<br>
It's going to be a very fun evening. I'm going to talk about C++ AMP, and Rong will
cover what's new in VC++ 11. I've seen her speak before, and I know you're going to
enjoy it. Be there, Wednesday June 27th at the Microsoft offices in Brussels. (I was
kinda hoping for Tuesday, so I could <a href="http://www.imdb.com/title/tt0064471">make
a joke</a>, but Wednesday will be fine.) You need to <a href="http://becpp.org/blog/2012/05/21/becpp-meeting-june-with-international-speakers/">register</a>,
so please do!
<br>
<br>
Kate<br>
<br>
<br>
<p>
</p>
<img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=d856d0e1-baea-47d4-a4db-fd0cd1ca8479" />http://www.gregcons.com/KateBlog/CommentView.aspx?guid=d856d0e1-baea-47d4-a4db-fd0cd1ca8479C++Client DevelopmentConcurrencySpeakingTravelVisual Studio 11http://www.gregcons.com/KateBlog/Trackback.aspx?guid=0804da62-a24a-40d3-bb8c-8d7f63773eb4http://www.gregcons.com/KateBlog/pingback.aspxhttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=0804da62-a24a-40d3-bb8c-8d7f63773eb4Kate Gregoryhttp://www.gregcons.com/KateBlog/CommentView.aspx?guid=0804da62-a24a-40d3-bb8c-8d7f63773eb4http://www.gregcons.com/KateBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=0804da62-a24a-40d3-bb8c-8d7f63773eb4
So much C++ news going on lately. Time
to clear my queue:

I updated my C++
Windows 8 Development course for the Consumer Preview of Windows 8. There were
a few breaking changes, so if you're working on a Windows 8 app, take a look through
it.

Then there's C++ AMP - the topic of the book I'm
spending all my time writing. They're
hiring. This is a great opportunity for the right developer.

Oh, and James McNellis spent the last however-many-months answering the question "hey,
if native WinRT has all this metadata about types, could you leverage that to implement
reflection for native code?" Which for some people was a rhetorical question or interesting
thing to muse about, but he went
and did it. Incredibly cool.

It's hard to keep up with it all! Especially when I'm on a book deadline :-)

Kate

News, links, interviews, it's all good - and it's all C++http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=0804da62-a24a-40d3-bb8c-8d7f63773eb4http://www.gregcons.com/KateBlog/NewsLinksInterviewsItsAllGoodAndItsAllC.aspx
Fri, 11 May 2012 02:06:29 GMTSo much C++ news going on lately. Time to clear my queue:<br>
<br>
<ul>
<li>
I updated my <a href="http://www.pluralsight-training.net/microsoft/Courses/TableOfContents?courseName=win8-cpp">C++
Windows 8 Development course </a>for the Consumer Preview of Windows 8. There were
a few breaking changes, so if you're working on a Windows 8 app, take a look through
it.</li>
<li>
I'm part of a group working on a Windows 8 app in C++ and XAML called Hilo, inspired
by the Windows 7 Hilo application. You can read more about it on <a href="http://scottdensmore.typepad.com/blog/2012/04/hilo-for-windows-8-c-and-xaml.html">Scott
Densmore's blog</a>, the <a href="http://blogs.msdn.com/b/nativeconcurrency/archive/2012/05/07/check-out-hilo-for-windows-8.aspx">Parallel
Programming in Native Code blog</a>, and <a href="http://hilo.codeplex.com/">the Codeplex
site</a>. There's another <a href="http://blogs.msdn.com/b/ukmsdn/archive/2012/05/02/developing-metro-apps-using-c-cx-for-c-developers.aspx">related
blog entry</a>, too.<br>
</li>
<li>
There are Windows 8 development camps going on all over the place, but most of them
are in managed code. There's a <a href="http://blogs.msdn.com/b/vcblog/archive/2012/04/24/10297389.aspx">native
C++ one happening in Redmond on May 18th</a>, and <a href="http://blogs.msdn.com/b/vcblog/archive/2012/05/07/10301902.aspx">it's
going to be live streamed</a>.</li>
<li>
Don't forget my <a href="http://www.pluralsight-training.net/microsoft/Courses/TableOfContents?courseName=adv-cpp">Advanced
Topics in C++ course</a>. I did <a href="http://blog.pluralsight.com/2012/05/09/meet-the-author-kate-gregory-on-c-advanced-topics/">an
interview</a> about it recently.</li>
<li>
Then there's C++ AMP - the topic of <a href="http://www.gregcons.com/cppamp">the book</a> I'm
spending all my time writing. <a temp_href="http://blogs.msdn.com/b/nativeconcurrency/archive/2012/05/10/the-c-amp-dev- team-is-hiring.aspx " href="http://blogs.msdn.com/b/nativeconcurrency/archive/2012/05/10/the-c-amp-dev-%20%20team-is-hiring.aspx%20">They're
hiring</a>. This is a great opportunity for the right developer.</li>
<li>
Oh, and James McNellis spent the last however-many-months answering the question "hey,
if native WinRT has all this metadata about types, could you leverage that to implement
reflection for native code?" Which for some people was a rhetorical question or interesting
thing to muse about, but he <a href="http://seaplusplus.com/2012/04/26/cxxreflect-native-reflection-for-the-windows-runtime/">went
and did it</a>.&nbsp; Incredibly cool.</li>
</ul>
<p>
It's hard to keep up with it all! Especially when I'm on a book deadline :-)
</p>
<p>
Kate<br>
</p>
<p>
</p>
<img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=0804da62-a24a-40d3-bb8c-8d7f63773eb4" />http://www.gregcons.com/KateBlog/CommentView.aspx?guid=0804da62-a24a-40d3-bb8c-8d7f63773eb4C++Client DevelopmentConsulting LifeSeen and RecommendedVisual Studio 11Windows 8http://www.gregcons.com/KateBlog/Trackback.aspx?guid=063d812d-6be3-472c-ae61-907fb5d96c60http://www.gregcons.com/KateBlog/pingback.aspxhttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=063d812d-6be3-472c-ae61-907fb5d96c60Kate Gregoryhttp://www.gregcons.com/KateBlog/CommentView.aspx?guid=063d812d-6be3-472c-ae61-907fb5d96c60http://www.gregcons.com/KateBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=063d812d-6be3-472c-ae61-907fb5d96c60

My C++ precon,
an all-day session about modern C++, has had a slight title change and is now called PRC08,
C++ in Visual Studio 11: Modern, Readable, Safe, Fast. The content is still the
same. My high level outline is:

Modern C++ with the Standard Library (demo of strings, shared pointers)

Application Lifecycle Management for Visual C++ 11

Leveraging Lambdas for the PPL and C++ AMP

Best practices for C++ developers today

This is all day the Sunday before Tech Ed Orlando starts, June 10th. You don't have
to be registered for Tech Ed to attend a pre-con. It's a great way to get caught back
up on what's been happening with C++ over the last decade or so. It's really not the
language you remember. I plan to show you what's fun and amazing about it. Forget
all that pointer-to-pointer-to-pointer and manual memory management stuff you may
remember, and get ready to see how C++ can be simple, fast, and genuinely useful in
some surprising ways.

Kate

Slight title change for C++ Pre-Con at Tech Ed Orlandohttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=063d812d-6be3-472c-ae61-907fb5d96c60http://www.gregcons.com/KateBlog/SlightTitleChangeForCPreConAtTechEdOrlando.aspx
Fri, 23 Mar 2012 16:12:51 GMT<p>
My <a href="http://northamerica.msteched.com/preconferenceseminars">C++ precon</a>,
an all-day session about modern C++, has had a slight title change and is now called <b>PRC08,
C++ in Visual Studio 11: Modern, Readable, Safe, Fast</b>. The content is still the
same. My high level outline is:
</p>
<ul>
<li>
Modern C++ with the Standard Library (demo of strings, shared pointers)</li>
<li>
Application Lifecycle Management for Visual C++ 11</li>
<li>
Leveraging Lambdas for the PPL and C++ AMP
<br>
</li>
<li>
Best practices for C++ developers today</li>
</ul>
This is all day the Sunday before Tech Ed Orlando starts, June 10th. You don't have
to be registered for Tech Ed to attend a pre-con. It's a great way to get caught back
up on what's been happening with C++ over the last decade or so. It's really not the
language you remember. I plan to show you what's fun and amazing about it. Forget
all that pointer-to-pointer-to-pointer and manual memory management stuff you may
remember, and get ready to see how C++ can be simple, fast, and genuinely useful in
some surprising ways.<br>
<br>
Kate<br>
<p>
<br>
</p>
<img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=063d812d-6be3-472c-ae61-907fb5d96c60" />http://www.gregcons.com/KateBlog/CommentView.aspx?guid=063d812d-6be3-472c-ae61-907fb5d96c60C++Client DevelopmentConcurrencySpeakingVisual Studio 11Windows 8http://www.gregcons.com/KateBlog/Trackback.aspx?guid=2b88f7a0-5e0d-4418-8f08-8f8b837e4298http://www.gregcons.com/KateBlog/pingback.aspxhttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=2b88f7a0-5e0d-4418-8f08-8f8b837e4298Kate Gregoryhttp://www.gregcons.com/KateBlog/CommentView.aspx?guid=2b88f7a0-5e0d-4418-8f08-8f8b837e4298http://www.gregcons.com/KateBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=2b88f7a0-5e0d-4418-8f08-8f8b837e42981

I had a real blast writing this - while I was editing it I could hear my own enjoyment
of parts of it. I hope you enjoy it too. A Pluralsight subscription is
such a bargain - buy one for the topics you simply MUST learn for work, then use it
on your own time to learn all those other things that you think you might benefit
from. (I recommend Annual Plus - $500 gets you the sample code and offline viewing,
all you can learn for a year.) Whether C++ is "must learn for work" or "I hear it's
different know, wonder if it could help me" for you, I hope you find it helpful. Please
let me know!

Kate

Advanced C++ course now live on Pluralsighthttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=2b88f7a0-5e0d-4418-8f08-8f8b837e4298http://www.gregcons.com/KateBlog/AdvancedCCourseNowLiveOnPluralsight.aspx
Sat, 10 Mar 2012 19:36:17 GMT<p>
I've been working on another C++ course for Pluralsight to complement the <a href="http://www.pluralsight-training.net/microsoft/Courses/TableOfContents?courseName=win8-cpp">C++
WinRT/Windows 8/Metro</a> course I did as well as the two-part C++ Fundamentals course
(<a href="http://www.pluralsight-training.net/microsoft/Courses/TableOfContents?courseName=cpp-fundamentals">part
1</a>, <a href="http://www.pluralsight-training.net/microsoft/Courses/TableOfContents?courseName=cppfund2">part
2</a>). It's <a href="http://www.pluralsight-training.net/microsoft/Courses/TableOfContents?courseName=adv-cpp">finished
and live</a>!
</p>
<p>
The topics I cover are:
</p>
<ul>
<li>
Avoid Manual Memory Management</li>
<li>
Use Lambdas</li>
<li>
Use Standard Containers</li>
<li>
Use Standard Algorithms</li>
<li>
Embrace Move Semantics</li>
<li>
Follow Style Rules</li>
<li>
Consider the PImpl Idiom</li>
<li>
Stop Writing C With Classes</li>
</ul>
<p>
I had a real blast writing this - while I was editing it I could hear my own enjoyment
of parts of it. I hope you enjoy it too. A Pluralsight <a href="http://www.pluralsight-training.net/microsoft/Products/Individual">subscription </a>is
such a bargain - buy one for the topics you simply MUST learn for work, then use it
on your own time to learn all those other things that you think you might benefit
from. (I recommend Annual Plus - $500 gets you the sample code and offline viewing,
all you can learn for a year.) Whether C++ is "must learn for work" or "I hear it's
different know, wonder if it could help me" for you, I hope you find it helpful. Please
let me know!
</p>
<p>
Kate<br>
</p>
<img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=2b88f7a0-5e0d-4418-8f08-8f8b837e4298" />http://www.gregcons.com/KateBlog/CommentView.aspx?guid=2b88f7a0-5e0d-4418-8f08-8f8b837e4298C++Client DevelopmentConsulting LifeMentoringSeen and RecommendedSpeakinghttp://www.gregcons.com/KateBlog/Trackback.aspx?guid=38832443-1d45-4c20-85c4-fc827b85236ehttp://www.gregcons.com/KateBlog/pingback.aspxhttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=38832443-1d45-4c20-85c4-fc827b85236eKate Gregoryhttp://www.gregcons.com/KateBlog/CommentView.aspx?guid=38832443-1d45-4c20-85c4-fc827b85236ehttp://www.gregcons.com/KateBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=38832443-1d45-4c20-85c4-fc827b85236e1
I've been excited about C++ AMP since it
was first announced back
in June. What's C++ AMP? It stands for Accelerated Massive Parallelism and it's about
harnessing thousands of cores on accelerators like GPUs. You can speed up some applications
by a factor of 10 or more. Not 10%, 10x. And you don't have to learn some C-like language,
you get to work in C++. It's done almost entirely with libraries, which means you
can use C++ AMP from a variety of applications, including Metro apps for Windows 8.

If you check my
Concurrency category you'll see I've been writing code (and words) for months
now. I just haven't been putting those words here on my blog. Instead, they're going
into a book, for Microsoft Press! Soon, I will have some chapter drafts available
for review. If you're interested, I've set up a page
with some details, and some links for those who want to learn more.

Dive in! There's a lot to learn. And plenty of samples to play with. I'll post updates
here as I go.

Kate

C++ AMP - I like it so much, I'm doing a book on it!http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=38832443-1d45-4c20-85c4-fc827b85236ehttp://www.gregcons.com/KateBlog/CAMPILikeItSoMuchImDoingABookOnIt.aspx
Thu, 09 Feb 2012 01:48:48 GMTI've been excited about C++ AMP since it was first <a href="http://blogs.msdn.com/b/vcblog/archive/2011/06/15/introducing-amp.aspx">announced </a>back
in June. What's C++ AMP? It stands for Accelerated Massive Parallelism and it's about
harnessing thousands of cores on accelerators like GPUs. You can speed up some applications
by a factor of 10 or more. Not 10%, 10x. And you don't have to learn some C-like language,
you get to work in C++. It's done almost entirely with libraries, which means you
can use C++ AMP from a variety of applications, including Metro apps for Windows 8.
<br>
<br>
If you check <a href="http://www.gregcons.com/KateBlog/CategoryView.aspx?category=Concurrency">my
Concurrency category</a> you'll see I've been writing code (and words) for months
now. I just haven't been putting those words here on my blog. Instead, they're going
into a book, for Microsoft Press! Soon, I will have some chapter drafts available
for review. If you're interested, I've set up a <a href="http://www.gregcons.com/cppamp">page
with some details</a>, and some links for those who want to learn more.<br>
<br>
There's increasing media coverage, including <a href="http://arstechnica.com/microsoft/news/2012/02/microsoft-publishes-fancy-pants-heterogeneous-parallel-gpgpu-c-amp-specification.ars?comments=1#comments-bar">Peter
Bright at ars technica</a> and <a href="http://www.eweek.com/c/a/Application-Development/Microsoft-Gives-C-Developers-Compute-Power-of-the-GPU-769755/?kc=rss&amp;utm_source=twitterfeed&amp;utm_medium=twitter">Darryl
Taft at eWeek</a>, and last week the <a href="http://download.microsoft.com/download/4/0/E/40EA02D8-23A7-4BD2-AD3A-0BFFFB640F28/CppAMPLanguageAndProgrammingModel.pdf">spec</a> was <a href="http://blogs.msdn.com/b/nativeconcurrency/archive/2012/02/03/c-amp-open-spec-published.aspx">released
to the public</a> under the Microsoft Community Promise license. This means other
compiler vendors can implement C++ AMP in their own compilers, allowing even more
developers access to heterogeneous hardware and massive speedups for data parallel
calculations. Herb Sutter mentioned it in <a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/C-11-VC-11-and-Beyond">the
Day 2 keynote</a> at GoingNative, <a href="http://blogs.msdn.com/b/vcblog/archive/2012/02/03/10263262.aspx">the
Visual C++ Blog</a> included a link, and <a href="http://blogs.msdn.com/b/somasegar/archive/2012/02/03/c-amp-open-specification.aspx">Soma
blogged about it</a> too.<br>
<br>
Dive in! There's a lot to learn. And plenty of samples to play with. I'll post updates
here as I go.<br>
<br>
Kate<br>
<p>
</p>
<img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=38832443-1d45-4c20-85c4-fc827b85236e" />http://www.gregcons.com/KateBlog/CommentView.aspx?guid=38832443-1d45-4c20-85c4-fc827b85236eC++Client DevelopmentConcurrencySeen and RecommendedVisual Studio 11Windows 7Windows 8http://www.gregcons.com/KateBlog/Trackback.aspx?guid=a243512d-6959-4a7f-b41e-2b65359b9285http://www.gregcons.com/KateBlog/pingback.aspxhttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=a243512d-6959-4a7f-b41e-2b65359b9285Kate Gregoryhttp://www.gregcons.com/KateBlog/CommentView.aspx?guid=a243512d-6959-4a7f-b41e-2b65359b9285http://www.gregcons.com/KateBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=a243512d-6959-4a7f-b41e-2b65359b92851

The minute this was announced, I knew I had to go.

Two days of "C++ today and tomorrow" with the bright lights of C++ today? Just try
and keep me away! I'm so glad I was there - it was AMAZING and FANTASTIC and just
generally wonderful. For me, personally, seeing so many old friends was a big part
of it. The C++ team, other C++ MVPs, people I went to university with, and so on.
It was also wonderful to see so many young people - including speakers, but also attendees,
who were clearly in their 20s (and a few who were obviously in their teens.) After
Chandler's talk I told someone "we can retire now: the future of C++ is in good hands."
The speakers were not "the usual suspects" at a Microsoft event either. At a panel
at the end of the second day, someone asked about C++ and the cloud and one of the
answers was to indicate three speakers sitting next to each other: "Microsoft guy,
Facebook guy, Google guy. Where isn't C++ in the cloud?" While that was a great
cloud answer, I think it also highlights how inclusive this was - it was a C++ conference
held at Microsoft, not a Microsoft conference.

Some fun quotes I happened to write down:

“if it’s that ugly, it must be good” - Bjarne, on why some newbies imitate horrible
code written long ago by their heroes

And Chandler's talk was very much a 2012 talk, with lolcat-like interjections and
Simpsons references and even a how-agile-is-this update with a picture of Oscar Wilde
in reference to Andrei's earlier off-the-cuff description of some template error messages
(aka template barf) as being "a small novel by Oscar Wilde." The humour level was
very high, much of it self-deprecating - no-one, not even the coiners of the terms,
thinks RAII or SFINAE are
great names, but what the heck, they're the names we use.

Even the little things here were so well done. Herb opened the conference by dedicating
it to Dennis Ritchie, which
I found extraordinarily touching and appropriate. He opened day 2 by celebrating the
20 year anniversary of Microsoft C7 which was C++ 1 for them, with Visual C++
appearing in the next release. There on the podium was the two foot long, 44 pound
box, with multicoloured plusses all over it, in which it shipped.

And what was inside? A lot of books, and a lot of 3.5" floppies (I took this picture
earlier, before the box headed to campus):

There are 5 or 6 floppies in each bag and apparently each bag had a part number of
its own.

This conference was far more than a trip down memory lane, of course. It was a two-day
Valentine from Microsoft to the C++ community, a demonstration of the "new growth"
in modern C++ and the power and capability that is there for those who are prepared
to start using the new features, and a chance for all of us to accelerate the learning
we have to do. I so hope you were able to be there, or to catch the energy by watching
it live and following tweets from those of us who had to share the bon mots and the
fun. But if not, the on-demand videos are almost all there now. Here are the links:

Fair warning: both of Andrei's talks, and the Concepts talk, are hard. This is cool
new stuff that we are all learning about. There is no shame in pausing, rewinding,
and giving something a second listen. Look, Chandler was running through pitfalls
and problems that Clang catches, and showed some code with a problem I couldn't spot.
A few minutes later in the Q&A, Bjarne asked him to clarify just what the problem
was. Made me feel better!

Chances are you won't be able to watch any of these on fast forward, or skip any of
them. So I'm asking you to invest 12 hours of your life to watch all of them. Do it!
You won't regret it!

Kate

PS: They gave us shirts (it's all about the shirts for developers) with real code
on the back and this on the front:

Highly appropriate. Of course, it's not a comeback for those of us who never left.
But still...Gone Native!http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=a243512d-6959-4a7f-b41e-2b65359b9285http://www.gregcons.com/KateBlog/GoneNative.aspx
Tue, 07 Feb 2012 17:19:41 GMT<p>
The minute this was announced, I knew I had to go.
</p>
<p>
<a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012"><img src="http://www.gregcons.com/KateBlog/content/binary/6f1bfc53-5eb9-4e2c-8b12-f9d295412afe.png" height="151" border="0" width="725"></a>
</p>
<p>
Two days of "C++ today and tomorrow" with the bright lights of C++ today? Just try
and keep me away! I'm so glad I was there - it was AMAZING and FANTASTIC and just
generally wonderful. For me, personally, seeing so many old friends was a big part
of it. The C++ team, other C++ MVPs, people I went to university with, and so on.
It was also wonderful to see so many young people - including speakers, but also attendees,
who were clearly in their 20s (and a few who were obviously in their teens.) After
Chandler's talk I told someone "we can retire now: the future of C++ is in good hands."
The speakers were not "the usual suspects" at a Microsoft event either. At a panel
at the end of the second day, someone asked about C++ and the cloud and one of the
answers was to indicate three speakers sitting next to each other: "Microsoft guy,
Facebook guy, Google guy. Where <b>isn't</b> C++ in the cloud?" While that was a great
cloud answer, I think it also highlights how inclusive this was - it was a C++ conference
held at Microsoft, not a Microsoft conference.
</p>
<p>
Some fun quotes I happened to write down:
</p>
<ul>
<li>
“if it’s that ugly, it must be good” - Bjarne, on why some newbies imitate horrible
code written long ago by their heroes</li>
<li>
“write C-style code, expect C-style errors” - Bjarne again</li>
<li>
“we know where bugs hide” – Bjarne (they hide in large tracts of complicated code)</li>
<li>
"dot dot dot is where the fun begins" - Andrei</li>
<li>
"real code is not supposed to fit on slides" - Andrei</li>
<li>
"this is legal" - Andrei (we needed to be reassured since it rarely looked legal)<br>
</li>
<li>
"if you're using <font face="Courier New">new </font>or <font face="Courier New">delete</font>,
you're doing it wrong" - Herb (it's true!)<br>
</li>
</ul>
<p>
And Chandler's talk was very much a 2012 talk, with lolcat-like interjections and
Simpsons references and even a how-agile-is-this update with a picture of Oscar Wilde
in reference to Andrei's earlier off-the-cuff description of some template error messages
(aka template barf) as being "a small novel by Oscar Wilde." The humour level was
very high, much of it self-deprecating - no-one, not even the coiners of the terms,
thinks <a href="http://en.wikipedia.org/wiki/RAII">RAII </a>or <a href="http://en.wikipedia.org/wiki/SFINAE">SFINAE </a>are
great names, but what the heck, they're the names we use.
</p>
<p>
Even the little things here were so well done. Herb opened the conference by dedicating
it to <a href="http://en.wikipedia.org/wiki/Dennis_Ritchie">Dennis Ritchie</a>, which
I found extraordinarily touching and appropriate. He opened day 2 by celebrating <a href="http://t.co/BTVLlfCC">the
20 year anniversary of Microsoft C7</a> which was C++ 1 for them, with Visual C++
appearing in the next release. There on the podium was the two foot long, 44 pound
box, with multicoloured plusses all over it, in which it shipped.
<br>
</p>
<p>
<img src="http://www.gregcons.com/KateBlog/content/binary/herbwithbox.jpg" border="0">
</p>
<p>
And what was inside? A lot of books, and a lot of 3.5" floppies (I took this picture
earlier, before the box headed to campus):
</p>
<p>
<img src="http://www.gregcons.com/KateBlog/content/binary/insidebox.jpg" border="0">
</p>
<p>
There are 5 or 6 floppies in each bag and apparently each bag had a part number of
its own.
<br>
</p>
<p>
This conference was far more than a trip down memory lane, of course. It was a two-day
Valentine from Microsoft to the C++ community, a demonstration of the "new growth"
in modern C++ and the power and capability that is there for those who are prepared
to start using the new features, and a chance for all of us to accelerate the learning
we have to do. I so hope you were able to be there, or to catch the energy by watching
it live and following tweets from those of us who had to share the bon mots and the
fun. But if not, the on-demand videos are almost all there now. Here are the links:
</p>
<blockquote>
<p>
<strong><a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Keynote-Bjarne-Stroustrup-Cpp11-Style">Bjarne
Stroustrup</a></strong><a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Keynote-Bjarne-Stroustrup-Cpp11-Style"><strong>:
C++11 Style</strong></a>
</p>
<p>
<strong><a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Threads-and-Shared-Variables-in-C-11">Hans
Boehm</a></strong><a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Threads-and-Shared-Variables-in-C-11"><strong>:
Threads and Shared Variables in C++11</strong></a>
<br>
</p>
<p>
<em></em><strong><a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/STL11-Magic-Secrets">Stephan
T. Lavavej: STL11 – Magic &amp;&amp; Secrets</a></strong>
</p>
<p>
<strong><a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Variadic-Templates-are-Funadic">Andrei
Alexandrescu</a></strong><a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Variadic-Templates-are-Funadic"><strong>:
Variadic Templates are Funadic</strong></a>
</p>
<strong><a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Interactive-Panel-The-Importance-of-Being-Native">Panel:
The Importance of Being Native </a></strong><a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Interactive-Panel-The-Importance-of-Being-Native">(<strong>Bjarne,
Andrei, Herb, Hans</strong>)</a><strong>&nbsp;</strong>
<p>
</p>
<p>
<strong><a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/C-11-VC-11-and-Beyond" target="_blank">Herb
Sutter</a></strong><a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/C-11-VC-11-and-Beyond" target="_blank">: <strong>C++11,
VC++11 and Beyond</strong></a>
</p>
<p>
<strong><a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Clang-Defending-C-from-Murphy-s-Million-Monkeys">Chandler
Carruth</a></strong><a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Clang-Defending-C-from-Murphy-s-Million-Monkeys"><strong>:</strong> <strong>Clang
- Defending C++ from Murphy's Million Monkeys</strong></a><em>
<br>
<br>
<em></em></em><strong><a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Static-If-I-Had-a-Hammer">Andrei
Alexandrescu: Static If I Had a Hammer</a></strong>
</p>
<p>
<strong><a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/A-Concept-Design-for-C-">Bjarne
Stroustrup and Andrew Sutton: A Concept Design for C++</a></strong>
</p>
<strong><a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Interactive-Panel-Ask-Us-Anything-">Panel:
Ask Us Anything! </a></strong><a href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Interactive-Panel-Ask-Us-Anything-">(<strong>all
speakers</strong>)</a></blockquote>
<p>
Fair warning: both of Andrei's talks, and the Concepts talk, are hard. This is cool
new stuff that we are all learning about. There is no shame in pausing, rewinding,
and giving something a second listen. Look, Chandler was running through pitfalls
and problems that Clang catches, and showed some code with a problem I couldn't spot.
A few minutes later in the Q&amp;A, Bjarne asked him to clarify just what the problem
was. Made me feel better!
</p>
<p>
Chances are you won't be able to watch any of these on fast forward, or skip any of
them. So I'm asking you to invest 12 hours of your life to watch all of them. Do it!
You won't regret it!
</p>
<p>
Kate
</p>
<p>
PS: They gave us shirts (it's all about the shirts for developers) with real code
on the back and this on the front:
</p>
<img src="http://www.gregcons.com/KateBlog/content/binary/gonenative.png" height="408" border="0" width="726">
<br>
<br>
Highly appropriate. Of course, it's not a comeback for those of us who never left.
But still...<br>
<img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=a243512d-6959-4a7f-b41e-2b65359b9285" />http://www.gregcons.com/KateBlog/CommentView.aspx?guid=a243512d-6959-4a7f-b41e-2b65359b9285C++Client DevelopmentConsulting LifeMentoringMVPSeen and RecommendedVisual Studio 11http://www.gregcons.com/KateBlog/Trackback.aspx?guid=375476f3-d26c-4e81-aa5b-d51e80108808http://www.gregcons.com/KateBlog/pingback.aspxhttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=375476f3-d26c-4e81-aa5b-d51e80108808Kate Gregoryhttp://www.gregcons.com/KateBlog/CommentView.aspx?guid=375476f3-d26c-4e81-aa5b-d51e80108808http://www.gregcons.com/KateBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=375476f3-d26c-4e81-aa5b-d51e801088081

Oh my goodness. What a week that was!

Here's how I thought I would do my first summary. Links to videos, discussions of
sessions I either went to or tried to go to (more on that in a moment) along with
my tweets from the ground, as it were.

My first real tweet Tuesday morning (8:37 California time) was announcing that my
PluralSight C++ Fundamentals course had gone live.
Then the keynote started.
Here are my tweets and retweets along with the time into the keynote I said them:

79 minutes, @EdgarSanchez retweeted @rickasaurus asking "I'm interested in hearing
more about this new GPU offloading API. Any links? #bldwin" and I answered "Check
my blog as the week goes on for GPU stuff"

80 minutes: RT @marypcbuk Sinofsky: that gaming PC looks like ice. Angiulo: more like
lava, it converts 700w of power to 4.7 teraflops like 3,500 Cray XMPs #bldwinPlatform
for Metro style apps

87 minutes: RT @Pete_Brown Dude just cracked open a laptop on stage and showed the
electronics. Can't beat that #bldwin #geek

100 minutes: RT @andrewbrust When will we admit Sinofsky's doing a great job? He's
working hard, not just presiding. #bldwin

120 minutes: RT @ronnipedersen If you have an iPad, don't watch the build keynote…
It'll make you feel like you have bought a C64 #bldwin

127 minutes: RT @jonbrasted It is a great day to be a Windows developer. #bldwin #trbbuild

The download surprised me, I didn't think it would be ready for people to try on any
old hardware. And the hardware demo was very very good. And sure, I was on instant
messenger back to the office saying "it's official" when the rumour was finally confirmed
that we were getting tablets. But mostly, I really liked what I saw and wanted to
know more, which is what keynotes are all about.

After eating something completely unmemorable, I found my way to the overflow room,
always a little more casual and a good place to find "the cool kids". I had already
met a number of old friends in the huge keynote session and before it, but here were
more. I'll just give you the links to the Big Picture sessions. They are all very
good.

8 traits of great
Metro style apps - a truly excellent session by a presenter who cares deeply about
the topic. I tweeted a lot less during this one because it required more active listening.

Platform for Metro
style apps - another very good session during which I just retweeted some other
people's "Hey, this stuff is C++" reactions and a link to the session planner app
for the phone, which I used heavily.

By this time people were starting to "get it" (including me) and the excitement level
was rising. Here's just what I retweeted:

+@fignewtron iPad limited in many ways to consumption - Windows 8 is production and
consumption on many devices. Sales numbers decide winner. #bldwin

@mcakins Wow, the silence from Apple's camp is deafening! Windows rocks once more!
Its 1995 all over again! #bldwin

One more session: Tools
for building Metro style apps - I was getting tired at this point. It was a lot
to take in. People were lined up the length of the convention centre for tablets.
I knew there were enough for all of us, so I went back to my room to edit my pointers
module for the PluralSight course so it could "tack on" to the end of the published
course. While videos rendered, I had a little back and forth on Twitter with people
who had noticed how much fun I was having, and others who were playing with their
tablets already. I slipped out to pickup the tablet about 7:30 but didn't open it
till the module was done. Then:

11:11 pm: Just wrote a Win8 C++ app on the tablet with touch keyboard. Built and ran
first time. #winning

That's right, I didn't even set up the bluetooth keyboard. People cite Visual Studio
as an app you couldn't possibly use with touch. I wouldn't want to do it all day,
but I did it! Then I played a bit more.

102 minutes: That's what these keynotes were missing! Turns out it's a great time
to be a developer. I was worrying, no-one had told me yet #bldwin

105 minutes: I've been paid to program since 1979. Keynotes tell me at least once
a year it's a great time to be a developer. And they're right. #bldwin

Then it was time for simultaneous breakouts, and that meant choices. You can search the
sessions list as well as I can. The
C++ ones are not to be missed. These are happy people who are delighted to tell
us what's been going on, and they're proud of it, too. At 3:13 I tweeted "Went
quiet because i am massively engaged with C++ content in packed rooms. Small break
between sessions to say "wow!" #bldwin #happycamper". The remainder of the afternoon
was super confusing. People were jumping to conclusions, correcting each other, having
opinions about the death of this that and the other. Because C++/Cx (the language
extension you use to call WinRT) looks a lot like C++/CLI, people thought it was managed,
but it's not, it's all native code and C++ Metro apps get a perf boost from that.
The understanding that something amazing and powerful still has COM at the core began
to grow. People were reporting trying to use Windows 8 gestures on their iPads and
on nontouch screens, showing that the team has made some very intuitive choices. One
tweet of mine I want to repeat: "Big props to Aleš Holeček for joining in the Q&A
in the last C++ talk of the day when the questions got really Windows-y. Impressed.
#bldwin". Even if you're not a C++ developer, download
that session and watch the Q & A.

Day 3 started with being turned away from a
C++ session, and so going to a
different C++ session that was on at the same time. Several people from the C++
team made the trip with me, giving me a chance to tell them how impressive all this
was. Meanwhile on mailing lists, people who weren't onsite and were 12 - 24 hours
behind as they waited for session videos to go live were echoing the confusion and
dismay of yesterday. It was hard to be patient with them. It's going to make sense,
I wanted to tell them. Just hang in there! I took a small break from sessions to watch
(and help with) the C++ part of Channel 9 Live (I am still waiting for links to the
recording, because I couldn't hear everything they said and I want to) and then to Herb's
second talk - again the room jammed full and dozens turned away, Don Box (who
had earlier reminded us COM is still love) blurting out his admiration for Herb as
a speaker and the great content, and the terrific line, "We protect against Murphy,
not Machiavelli". What a time to be a C++ developer!

Day 4 kicked off with kind
words from Daniel and a chance to hand out paper copies of the whitepaper I recently
blogged. I got some quiet time with various smart people who told me their thoughts
on all this. I'm still synthesizing it all. I also was downloading videos like a mad
thing. I came home with 22 hours of video to watch and since then have grabbed another
15 or so. Some people began to realize they had over-reacted. Some excellent blogs
began to appear - Doug Seven, for example, had
several sensible things to say.

And then it was time to go. Glenn Ferrie tweeted "Writing C++ in the airport #bldwin
#WinRT" and that summed up the week for me. I have a lot of watching, coding,
thinking, reading and talking to do so I can establish what all this means. But hey,
why not join me? It's a great time to be a developer!

KateMy week at BUILDhttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=375476f3-d26c-4e81-aa5b-d51e80108808http://www.gregcons.com/KateBlog/MyWeekAtBUILD.aspx
Sat, 17 Sep 2011 20:42:01 GMT<p>
Oh my goodness. What a week that was!
</p>
<p>
Here's how I thought I would do my first summary. Links to videos, discussions of
sessions I either went to or tried to go to (more on that in a moment) along with
my tweets from the ground, as it were.
</p>
<p>
My first real tweet Tuesday morning (8:37 California time) was announcing that my
PluralSight C++ Fundamentals course had <a href="http://t.co/OlTX70V">gone live</a>.
Then <a href="http://channel9.msdn.com/Events/BUILD/BUILD2011/KEY-0001">the keynote</a> started.
Here are my tweets and retweets along with the time into the keynote I said them:
</p>
<ul>
<li>
6 minutes: #bldwin totally dominating my stream SS doing a good intro to lean back
computing</li>
<li>
37 minutes: RT @dseven WinRT API'S are natively built into Windows and built to reflect
in different languages - C/C++ and .NET. #bldwin</li>
<li>
42 minutes: Starting at 8PM today, Seattle time, you can download all of the code
that attendees at BUILD received. <a href="http://t.co/nuTuwga">t.co/nuTuwga</a>
</li>
<li>
43 minutes: RT @wkrwk Did anyone notice the UI during the VSE 11 demo is the classic
Windows UI? #bldwin</li>
<li>
48 minutes: #bldwin VS vNext demo is breaking twitter = no hope of following it all</li>
<li>
50 minutes: RT @andrewbrust Expression Blend is still Grey on Black. It could use
a little "fast and fluid," frankly. #bldwin</li>
<li>
51 minutes: Store menu in VS?? #bldwin #wholenewworld</li>
<li>
58 minutes: RT @rhundhausen Desktop (#x86) apps can be listed in the #windows8 store
as well #bldwin</li>
<li>
61 minutes: RT @ayus :))) RT @timheuer The Red Shirt is dominant even when not present.
#bldwin @scottgu</li>
<li>
79 minutes, @EdgarSanchez retweeted @rickasaurus asking "I'm interested in hearing
more about this new GPU offloading API. Any links? #bldwin" and I answered "Check
my blog as the week goes on for GPU stuff"</li>
<li>
80 minutes: RT @marypcbuk Sinofsky: that gaming PC looks like ice. Angiulo: more like
lava, it converts 700w of power to 4.7 teraflops like 3,500 Cray XMPs #bldwinPlatform
for Metro style apps</li>
<li>
87 minutes: RT @Pete_Brown Dude just cracked open a laptop on stage and showed the
electronics. Can't beat that #bldwin #geek</li>
<li>
100 minutes: RT @andrewbrust When will we admit Sinofsky's doing a great job? He's
working hard, not just presiding. #bldwin</li>
<li>
120 minutes: RT @ronnipedersen If you have an iPad, don't watch the build keynote…
It'll make you feel like you have bought a C64 #bldwin</li>
<li>
127 minutes: RT @jonbrasted It is a great day to be a Windows developer. #bldwin #trbbuild<br>
<br>
</li>
</ul>
The download surprised me, I didn't think it would be ready for people to try on any
old hardware. And the hardware demo was very very good. And sure, I was on instant
messenger back to the office saying "it's official" when the rumour was finally confirmed
that we were getting tablets. But mostly, I really liked what I saw and wanted to
know more, which is what keynotes are all about.<br>
<br>
After eating something completely unmemorable, I found my way to the overflow room,
always a little more casual and a good place to find "the cool kids". I had already
met a number of old friends in the huge keynote session and before it, but here were
more. I'll just give you the links to the Big Picture sessions. They are all very
good.<br>
<br>
<ul>
<li>
<a href="http://channel9.msdn.com/Events/BUILD/BUILD2011/BPS-1004">8 traits of great
Metro style apps </a>- a truly excellent session by a presenter who cares deeply about
the topic. I tweeted a lot less during this one because it required more active listening.</li>
<li>
<a href="http://channel9.msdn.com/Events/BUILD/BUILD2011/BPS-1005">Platform for Metro
style apps</a> - another very good session during which I just retweeted some other
people's "Hey, this stuff is C++" reactions and a link to the session planner app
for the phone, which I used heavily.</li>
</ul>
By this time people were starting to "get it" (including me) and the excitement level
was rising. Here's just what I retweeted:<br>
<ul>
<li>
@coridrew #bldWin is really, really, really making me want to //BUILD/ Windows apps
#BestConferenceNameEver #WhoKnew</li>
<li>
@briannoyes Add ref from js project to C++ library - really empasizes this is running
native #bldwin</li>
<li>
+@fignewtron iPad limited in many ways to consumption - Windows 8 is production and
consumption on many devices. Sales numbers decide winner. #bldwin</li>
<li>
@mcakins Wow, the silence from Apple's camp is deafening! Windows rocks once more!
Its 1995 all over again! #bldwin</li>
</ul>
<p>
</p>
<p>
One more session: <a href="http://channel9.msdn.com/Events/BUILD/BUILD2011/BPS-1006">Tools
for building Metro style apps</a> - I was getting tired at this point. It was a lot
to take in. People were lined up the length of the convention centre for tablets.
I knew there were enough for all of us, so I went back to my room to edit my pointers
module for the PluralSight course so it could "tack on" to the end of the published
course. While videos rendered, I had a little back and forth on Twitter with people
who had noticed how much fun I was having, and others who were playing with their
tablets already. I slipped out to pickup the tablet about 7:30 but didn't open it
till the module was done. Then:
</p>
<ul>
<li>
10:48 pm: got major piece of work done ... yielding to temptation ... tablet here
i come #bldwin</li>
<li>
10:57 pm: How's that for fast setup? Everything's installed.... Trying visual studio
next</li>
<li>
11:11 pm: Just wrote a Win8 C++ app on the tablet with touch keyboard. Built and ran
first time. #winning</li>
</ul>
That's right, I didn't even set up the bluetooth keyboard. People cite Visual Studio
as an app you couldn't possibly use with touch. I wouldn't want to do it all day,
but I did it! Then I played a bit more.<br>
<br>
Day 2 started with <a href="http://channel9.msdn.com/Events/BUILD/BUILD2011/KEY-0002">another
whole keynote</a>. C++ was front and centre here. Some tweets:<br>
<ul>
<li>
17 minutes: RT @seesharp 3D graphics debugging at the pixel level in DirectX. Unreal.
#bldwin</li>
<li>
33 minutes: RT @bgervin killer strategy for MS to help developers make HTML apps for
iOS and Android #bldwin<br>
</li>
<li>
34 minutes: RT @tpdorsey RT @EisenbergEffect […] in C++, you can write your own WinRT
library, which when built, can be used by C++, C#, VB and JS.</li>
<li>
34 minutes: RT @jmorrill This new COM and C++ version is not _anything_ like what
you think it is. From what I can tell so far...effing amazing!!!!<br>
</li>
<li>
49 minutes: Loved it RT @MichaelDesmond Zander shows off the new image editor in VS11
as he works on a C++ DirectX game.</li>
<li>
54 minutes: RT @shycohen Moving a VHD while the machine is running is cool. Moving
a live VHD is even cooler! :) Will enable amazing things in the future. #bldwin</li>
<li>
82 minutes: most tattoos ever in an MS keynote</li>
<li>
95 minutes: RT @seesharp WOAH. Did not expect Steve Ballmer today. Everyone was starting
to leave already. Woah! #bldwin</li>
<li>
97 minutes: RT @carafone 500,000 downloads of #win8 already! #bldwin</li>
<li>
98 minutes: RT @LACanuck And #Win8 was downloaded 500K times in 12 hrs RT @mashable:
RIM Has Sold Just 490,000 PlayBooks - on.mash.to/nEu0dU #bldwin</li>
<li>
102 minutes: That's what these keynotes were missing! Turns out it's a great time
to be a developer. I was worrying, no-one had told me yet #bldwin</li>
<li>
105 minutes: I've been paid to program since 1979. Keynotes tell me at least once
a year it's a great time to be a developer. And they're right. #bldwin</li>
</ul>
Then it was time for simultaneous breakouts, and that meant choices. You can search <a href="http://channel9.msdn.com/Events/BUILD/BUILD2011">the
sessions list</a> as well as I can. <a href="http://channel9.msdn.com/Events/BUILD/BUILD2011?t=c%2B%2B">The
C++ ones</a> are not to be missed. These are happy people who are delighted to tell
us what's been going on, and they're proud of it, too. At 3:13 I tweeted "<b>Went
quiet because i am massively engaged with C++ content in packed rooms. Small break
between sessions to say "wow!" #bldwin #happycamper</b>". The remainder of the afternoon
was super confusing. People were jumping to conclusions, correcting each other, having
opinions about the death of this that and the other. Because C++/Cx (the language
extension you use to call WinRT) looks a lot like C++/CLI, people thought it was managed,
but it's not, it's all native code and C++ Metro apps get a perf boost from that.
The understanding that something amazing and powerful still has COM at the core began
to grow. People were reporting trying to use Windows 8 gestures on their iPads and
on nontouch screens, showing that the team has made some very intuitive choices. One
tweet of mine I want to repeat: "<b>Big props to Aleš Holeček for joining in the Q&amp;A
in the last C++ talk of the day when the questions got really Windows-y. Impressed.
#bldwin</b>". Even if you're not a C++ developer, <a href="http://channel9.msdn.com/Events/BUILD/BUILD2011/TOOL-789C">download
that session</a> and watch the Q &amp; A.<br>
<br>
Day 3 started with being turned away from <a href="http://channel9.msdn.com/Events/BUILD/BUILD2011/TOOL-690C">a
C++ session</a>, and so going to <a href="http://channel9.msdn.com/Events/BUILD/BUILD2011/TOOL-761T">a
different C++ session </a>that was on at the same time. Several people from the C++
team made the trip with me, giving me a chance to tell them how impressive all this
was. Meanwhile on mailing lists, people who weren't onsite and were 12 - 24 hours
behind as they waited for session videos to go live were echoing the confusion and
dismay of yesterday. It was hard to be patient with them. It's going to make sense,
I wanted to tell them. Just hang in there! I took a small break from sessions to watch
(and help with) the C++ part of Channel 9 Live (I am still waiting for links to the
recording, because I couldn't hear everything they said and I want to) and then to <a href="http://channel9.msdn.com/Events/BUILD/BUILD2011/TOOL-835T">Herb's
second talk</a> - again the room jammed full and dozens turned away, Don Box (who
had earlier reminded us COM is still love) blurting out his admiration for Herb as
a speaker and the great content, and the terrific line, "<b>We protect against Murphy,
not Machiavelli</b>". What a time to be a C++ developer!<br>
<br>
Day 4 kicked off with <a href="http://channel9.msdn.com/Events/BUILD/BUILD2011/TOOL-802T">kind
words from Daniel</a> and a chance to hand out paper copies of the whitepaper I recently
blogged. I got some quiet time with various smart people who told me their thoughts
on all this. I'm still synthesizing it all. I also was downloading videos like a mad
thing. I came home with 22 hours of video to watch and since then have grabbed another
15 or so. Some people began to realize they had over-reacted. Some excellent blogs
began to appear - <a href="http://dougseven.com/">Doug Seven, </a>for example, had
several sensible things to say.<br>
<br>
And then it was time to go. Glenn Ferrie tweeted "<b>Writing C++ in the airport #bldwin
#WinRT</b>" and that summed up the week for me. I have a lot of watching, coding,
thinking, reading and talking to do so I can establish what all this means. But hey,
why not join me? It's a great time to be a developer!<br>
<br>
Kate<br>
<img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=375476f3-d26c-4e81-aa5b-d51e80108808" />http://www.gregcons.com/KateBlog/CommentView.aspx?guid=375476f3-d26c-4e81-aa5b-d51e80108808C++Client DevelopmentConcurrencyConsulting LifeMVPRDSeen and RecommendedWindows 8http://www.gregcons.com/KateBlog/Trackback.aspx?guid=219958cf-5dc1-43c3-bc4f-7a889a370a8fhttp://www.gregcons.com/KateBlog/pingback.aspxhttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=219958cf-5dc1-43c3-bc4f-7a889a370a8fKate Gregoryhttp://www.gregcons.com/KateBlog/CommentView.aspx?guid=219958cf-5dc1-43c3-bc4f-7a889a370a8fhttp://www.gregcons.com/KateBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=219958cf-5dc1-43c3-bc4f-7a889a370a8f
C++ is a great language for writing applications
that will run on a number of platforms. There are compilers for many different platforms,
and some powerful libraries you can use. Still, in the end your code needs to talk
to the operating system, and that means that most cross platform applications have
at least a few little corners where platform-specific code lives. The challenge is
how to ensure that your Windows code runs on Windows, your Linux code runs on Linux,
etc, without maintaining a number of different branches or hand-merging and splitting
every time you deploy.

Being C++, an unspoken requirement in solving this problem is "be as fast as possible".
Putting everything through a library and paying for extra indirection, looking up
something that cannot change once the program has started executing, is not as fast
as possible. You also want developer convenience and productivity. If you support
five platforms, and something is the same on four and different on one, copying that
code around for the four that are the same is not a productive way to behave. You
would like a default behaviour, and then special code for special cases.

Instead of declaring a base interface class with virtual functions then deriving each
platform with a different implementation, we declare a class with one template parameter
— a platform ID — then specialize it to provide a different implementation for each
platform. The template class is then typedef‘d to expose the specialization
for the platform ID being compiled to the application, allowing the implementation
to be used without any virtual functions and also allow for inlining of functions
as well.

He has some pretty convincing armwaving about using this not for just
Windows/Linux/Android but for any hardware differences even on the same operating
system - like what kind of graphics architecture you have or anything else that can't
change at runtime. It's a good example of how the power of templates makes things
possible that would always incur a runtime cost in any other language, or a significant
burden on a developer to move code around building custom versions of an application.
Worth a read!

Kate

Writing Cross Platform Code - Templates make it simplerhttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=219958cf-5dc1-43c3-bc4f-7a889a370a8fhttp://www.gregcons.com/KateBlog/WritingCrossPlatformCodeTemplatesMakeItSimpler.aspx
Tue, 23 Aug 2011 18:55:55 GMTC++ is a great language for writing applications that will run on a number of platforms. There are compilers for many different platforms, and some powerful libraries you can use. Still, in the end your code needs to talk to the operating system, and that means that most cross platform applications have at least a few little corners where platform-specific code lives. The challenge is how to ensure that your Windows code runs on Windows, your Linux code runs on Linux, etc, without maintaining a number of different branches or hand-merging and splitting every time you deploy.<br>
<br>
Being C++, an unspoken requirement in solving this problem is "be as fast as possible".
Putting everything through a library and paying for extra indirection, looking up
something that cannot change once the program has started executing, is not as fast
as possible. You also want developer convenience and productivity. If you support
five platforms, and something is the same on four and different on one, copying that
code around for the four that are the same is not a productive way to behave. You
would like a default behaviour, and then special code for special cases.
<br>
<br>
Michael Tedder has <a href="http://altdevblogaday.com/2011/06/27/platform-abstraction-with-cpp-templates/">an
intriguing approach using templates</a>. As he says:<br>
<blockquote>
<p>
Instead of declaring a base interface class with virtual functions then deriving each
platform with a different implementation, we declare a class with one template parameter
— a platform ID — then specialize it to provide a different implementation for each
platform. &nbsp;The template class is then <code>typedef</code>‘d to expose the specialization
for the platform ID being compiled to the application, allowing the implementation
to be used without any virtual functions and also allow for inlining of functions
as well.
</p>
</blockquote>He has some pretty convincing armwaving about using this not for just
Windows/Linux/Android but for any hardware differences even on the same operating
system - like what kind of graphics architecture you have or anything else that can't
change at runtime. It's a good example of how the power of templates makes things
possible that would always incur a runtime cost in any other language, or a significant
burden on a developer to move code around building custom versions of an application.
Worth a read!<br>
<br>
Kate<br>
<p>
</p>
<img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=219958cf-5dc1-43c3-bc4f-7a889a370a8f" />http://www.gregcons.com/KateBlog/CommentView.aspx?guid=219958cf-5dc1-43c3-bc4f-7a889a370a8fC++Client DevelopmentSeen and Recommendedhttp://www.gregcons.com/KateBlog/Trackback.aspx?guid=4a185aa0-f744-441a-bf63-0ac86c164bf9http://www.gregcons.com/KateBlog/pingback.aspxhttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=4a185aa0-f744-441a-bf63-0ac86c164bf9Kate Gregoryhttp://www.gregcons.com/KateBlog/CommentView.aspx?guid=4a185aa0-f744-441a-bf63-0ac86c164bf9http://www.gregcons.com/KateBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=4a185aa0-f744-441a-bf63-0ac86c164bf9
Here's an interesting project I came across:

The game is Mastermind, which many people already know. What caught my attention is
that it's done in C++ and XAML. To quote Tyler
Whitney's blog post,

The Mastermind code sample demonstrates how to create a simple Silverlight
storyboard in Expression Blend 3, and then provide the code for the state transitions
in Microsoft Visual Studio 2008. You can also see how to create brushes programmatically
and how to add a title bar to a Silverlight-based app.

The code is
on the Microsoft Code Gallery (only Microsoft Employees can publish there) and Tyler
has been updating the article over the summer. Nice way to see how to combine two
technologies some people would never thought have combining.

KateWriting a Game with XAML, C++, and Silverlight for Windows Embeddedhttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=4a185aa0-f744-441a-bf63-0ac86c164bf9http://www.gregcons.com/KateBlog/WritingAGameWithXAMLCAndSilverlightForWindowsEmbedded.aspx
Sun, 21 Aug 2011 18:41:42 GMTHere's an interesting project I came across:<br>
<br>
<br>
<p>
</p>
<img src="http://www.gregcons.com/KateBlog/content/binary/mm.jpg" border="0">
<br>
<br>
The game is Mastermind, which many people already know. What caught my attention is
that it's done in C++ and XAML. To quote <a href="http://social.technet.microsoft.com/wiki/contents/articles/3352.aspx">Tyler
Whitney's blog post</a>,<br>
<br>
<blockquote>The Mastermind code sample demonstrates how to create a simple Silverlight
storyboard in Expression Blend 3, and then provide the code for the state transitions
in Microsoft Visual Studio 2008. You can also see how to create brushes programmatically
and how to add a title bar to a Silverlight-based app.<br>
</blockquote>
<br>
<a href="http://code.msdn.microsoft.com/Silverlight-for-Windows-0ca0e3b8">The code</a> is
on the Microsoft Code Gallery (only Microsoft Employees can publish there) and Tyler
has been updating the article over the summer. Nice way to see how to combine two
technologies some people would never thought have combining.<br>
<br>
Kate<br>
<img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=4a185aa0-f744-441a-bf63-0ac86c164bf9" />http://www.gregcons.com/KateBlog/CommentView.aspx?guid=4a185aa0-f744-441a-bf63-0ac86c164bf9C++Client DevelopmentSeen and Recommendedhttp://www.gregcons.com/KateBlog/Trackback.aspx?guid=c5d22b3e-77f7-4d9a-9a22-ee3515477f88http://www.gregcons.com/KateBlog/pingback.aspxhttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=c5d22b3e-77f7-4d9a-9a22-ee3515477f88Kate Gregoryhttp://www.gregcons.com/KateBlog/CommentView.aspx?guid=c5d22b3e-77f7-4d9a-9a22-ee3515477f88http://www.gregcons.com/KateBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=c5d22b3e-77f7-4d9a-9a22-ee3515477f883
I'm pleased to see that Kenny Kerr is writing his
C++ column for MSDN again. He's also blogging again and in a
recent entry, he provides some really plain-spoken advice to people looking for
guidance:

"You can of course still use MFC but I do not recommend it as modern C++ can do a
better job of supporting the Windows developer."

"You should never again use auto_ptr for anything."

So there! I agree with these, especially the auto_ptr one. It was an attempt at a
smart pointer that just wasn't smart enough. We have shared_ptr and unique_ptr now
and they work in collections and are truly smart pointers. Use them and stop typing
delete in your code entirely.

As for MFC, it does fill a need and I certainly wouldn't scrap a working MFC app just
because the library is getting old (the facelift a few releases ago helped) but if
I was starting a brand new application from File, New Project I would need a good
reason to use MFC as my UI framework.

Kate

Some guidance from Kenny Kerrhttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=c5d22b3e-77f7-4d9a-9a22-ee3515477f88http://www.gregcons.com/KateBlog/SomeGuidanceFromKennyKerr.aspx
Thu, 11 Aug 2011 17:29:29 GMTI'm pleased to see that Kenny Kerr is writing <a href="http://msdn.microsoft.com/en-ca/magazine/ee532098.aspx?sdmr=KennyKerr&amp;sdmi=authors">his
C++ column for MSDN</a> again. He's also blogging again and in <a href="http://kennykerr.ca/2011/08/01/windows-with-c-c-and-the-windows-api/">a
recent entry</a>, he provides some really plain-spoken advice to people looking for
guidance:<br>
<br>
<ul>
<li>
"You can of course still use MFC but I do not recommend it as modern C++ can do a
better job of supporting the Windows developer."</li>
<li>
"You should never again use auto_ptr for anything."</li>
</ul>
So there! I agree with these, especially the auto_ptr one. It was an attempt at a
smart pointer that just wasn't smart enough. We have shared_ptr and unique_ptr now
and they work in collections and are truly smart pointers. Use them and stop typing
delete in your code entirely.<br>
<br>
As for MFC, it does fill a need and I certainly wouldn't scrap a working MFC app just
because the library is getting old (the facelift a few releases ago helped) but if
I was starting a brand new application from File, New Project I would need a good
reason to use MFC as my UI framework.
<br>
<br>
Kate<br>
<p>
</p>
<img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=c5d22b3e-77f7-4d9a-9a22-ee3515477f88" />http://www.gregcons.com/KateBlog/CommentView.aspx?guid=c5d22b3e-77f7-4d9a-9a22-ee3515477f88C++Client DevelopmentConsulting LifeMentoringSeen and RecommendedVisual Studio 2010http://www.gregcons.com/KateBlog/Trackback.aspx?guid=80efdae9-ab3e-4c27-9a0b-e9254093a6e2http://www.gregcons.com/KateBlog/pingback.aspxhttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=80efdae9-ab3e-4c27-9a0b-e9254093a6e2Kate Gregoryhttp://www.gregcons.com/KateBlog/CommentView.aspx?guid=80efdae9-ab3e-4c27-9a0b-e9254093a6e2http://www.gregcons.com/KateBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=80efdae9-ab3e-4c27-9a0b-e9254093a6e2

Since Tech Ed came and went during my blogging hiatus, I didn't get around to providing
links to some of the sessions you might want to see. It's time to correct that omission:

There were other sessions I attended, including a great interactive session that was
not recorded called "C++ Renaissance at Microsoft: How the C++ Developers Can Get
Involved" with plenty of conversation between Microsoft people and native developers.
You might want to do a little searching on the main Tech
Ed Video site to see what interests you.

Kate

Tech Ed USA - Recordingshttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=80efdae9-ab3e-4c27-9a0b-e9254093a6e2http://www.gregcons.com/KateBlog/TechEdUSARecordings.aspx
Fri, 29 Jul 2011 21:51:36 GMT<p>
Since Tech Ed came and went during my blogging hiatus, I didn't get around to providing
links to some of the sessions you might want to see. It's time to correct that omission:
</p>
<ul>
<li>
<a href="http://channel9.msdn.com/Events/TechEd/NorthAmerica/2011/WIT01">WOMEN IN
TECHNOLOGY LUNCHEON</a> - Developing a Strong Support Network: The Key to Being Successful
as Women in Technology</li>
<li>
<a href="http://channel9.msdn.com/Events/TechEd/NorthAmerica/2011/DEV316">ALM for
C++ in Microsoft Visual Studio 2010</a> - one of the highest rated sessions in the
whole conference. C++ sessions get high ratings!<br>
</li>
<li>
<a href="http://channel9.msdn.com/Events/TechEd/NorthAmerica/2011/DEV304">Advanced
Programming Patterns for Windows 7</a> - my Day 2 session - no C++ content</li>
<li>
<a href="http://channel9.msdn.com/Events/TechEd/NorthAmerica/2011/DEV303">Modern Native
C++ Development for Maximum Productivity</a> - my Day 4 session - plenty of native
code here: lambdas, auto, the PPL, and so on.</li>
</ul>
There were other sessions I attended, including a great interactive session that was
not recorded called "C++ Renaissance at Microsoft: How the C++ Developers Can Get
Involved" with plenty of conversation between Microsoft people and native developers.
You might want to do a little searching on the main <a href="http://channel9.msdn.com/Events/TechEd/NorthAmerica/2011">Tech
Ed Video site</a> to see what interests you.<br>
<p>
Kate
</p>
<img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=80efdae9-ab3e-4c27-9a0b-e9254093a6e2" />http://www.gregcons.com/KateBlog/CommentView.aspx?guid=80efdae9-ab3e-4c27-9a0b-e9254093a6e2C++Client DevelopmentConcurrencyMentoringSeen and RecommendedSpeakingVisual Studio 2010Windows 7http://www.gregcons.com/KateBlog/Trackback.aspx?guid=51e8ced1-cf6e-4cea-b0fb-f4e83cd7b4f3http://www.gregcons.com/KateBlog/pingback.aspxhttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=51e8ced1-cf6e-4cea-b0fb-f4e83cd7b4f3Kate Gregoryhttp://www.gregcons.com/KateBlog/CommentView.aspx?guid=51e8ced1-cf6e-4cea-b0fb-f4e83cd7b4f3http://www.gregcons.com/KateBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=51e8ced1-cf6e-4cea-b0fb-f4e83cd7b4f3

Today saw the release of the first episode (naturally, Episode
0) of GoingNative on Channel 9. As the introduction says:

GoingNative is a new, monthly show on C9 dedicated to native development and native
developers, with an emphasis on modern C++.

You know there's been a lot of talk about the C++ Renaissance. I'm happy to see that
phrase get picked up, and I've got another one for you: Modern C++. Or as some folks
like to say "not your father's C++". If you think C++ means manual memory management,
strings as arrays of characters and a strange cast of global functions, and longing
for a library or framework that might rival what .NET has to offer, then you haven't
been keeping up with C++. The good news is that it won't take you long to catch up
- shared_ptr and unique_ptr, the Standard Library, lambdas and other Modern C++ goodies
are easy for both managed developers and longtime native developers to learn.

In Episode 0, Charles Torre (longtime
C++ friend) and Diego Dagum (C++ Community lead, blogger,
and Tweeter) lay some groundwork and,
of course, show code. It's always about the code, right? Then, they ask you to
get involved. Whether you're someone who wants to learn about C++, or someone who
wants to make sure something about C++ gets taught to others, speak up! And yes, that
includes topics on non-Microsoft platforms. Email C9GoingNative - they're using hotmail
- or on twitter, follow or talk to @C9GoingNative.
(There's a Facebook group,
too - whatever way you like to interact is welcome.)

But wait, did that sound like a whole episode? Nope, they grab the camera and head
over to see Ale Contenti - one of my favourite team members and one I've done interviews
and sessions with before. His talk gets technical fast, which is one of the things
I like about him! I too have a soft spot for 6502 assembler :-) and find template
meta-programming a bit of a write-only technique. I, too, like "the power the language
gives you to make the language bigger with libraries" and think that's part of the
appeal of C++ for me. Well, that and the power and performance and control, of course.
Are there downsides? Well, there's what Joni Mitchell called "the crazy you get from
too much choice" - C++ gives you many ways to do everything, according to your circumstances,
and having to decide how to do it, or having to connect two components that made different
choices about something as simple as how to represent a string, can be frustating.
As well, it's great to be in control, but that does mean that nobody is looking after
you. If you're inexperienced (and sometimes, even when you're not) you can make dangerous
choices and, as we like to say, shoot your foot off. Security holes and vulnerabilities
are important and C++ will let you write bad code, so you need to be aware of best
practices. Both Ale and Diego address these points, and you can expect to see more
of that in time to come - especially if you ask for it!

Looking forward to next month's show already,

Kate

GoingNative on Channel 9http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=51e8ced1-cf6e-4cea-b0fb-f4e83cd7b4f3http://www.gregcons.com/KateBlog/GoingNativeOnChannel9.aspx
Wed, 27 Jul 2011 23:55:44 GMT<p>
Today saw the release of the first episode (naturally, <a href="http://channel9.msdn.com/Shows/C9-GoingNative/GoingNative-0-Help-us-fly-this-plane-Some-modern-C-Meet-Ale-Contenti">Episode
0</a>) of GoingNative on Channel 9. As the introduction says:
</p>
<blockquote>
<p>
GoingNative is a new, monthly show on C9 dedicated to native development and native
developers, with an emphasis on modern C++.
</p>
</blockquote>
<p>
You know there's been a lot of talk about the C++ Renaissance. I'm happy to see that
phrase get picked up, and I've got another one for you: Modern C++. Or as some folks
like to say "not your father's C++". If you think C++ means manual memory management,
strings as arrays of characters and a strange cast of global functions, and longing
for a library or framework that might rival what .NET has to offer, then you haven't
been keeping up with C++. The good news is that it won't take you long to catch up
- shared_ptr and unique_ptr, the Standard Library, lambdas and other Modern C++ goodies
are easy for both managed developers and longtime native developers to learn.
</p>
<p>
In Episode 0, <a href="http://channel9.msdn.com/Niners/Charles">Charles Torre</a> (longtime
C++ friend) and Diego Dagum (C++ Community lead, <a href="http://blogs.msdn.com/b/vcblog/">blogger</a>,
and <a href="http://twitter.com/#%21/visualc">Tweeter</a>) lay some groundwork and,
of course, show code. It's always about the code, right? Then, they ask <b>you </b>to
get involved. Whether you're someone who wants to learn about C++, or someone who
wants to make sure something about C++ gets taught to others, speak up! And yes, that
includes topics on non-Microsoft platforms. Email C9GoingNative - they're using hotmail
- or on twitter, follow or talk to <a href="http://twitter.com/#%21/c9goingnative">@C9GoingNative</a>.
(There's <a href="https://www.facebook.com/groups/C9GoingNative?ap=1">a Facebook group</a>,
too - whatever way you like to interact is welcome.)<br>
</p>
<p>
But wait, did that sound like a whole episode? Nope, they grab the camera and head
over to see Ale Contenti - one of my favourite team members and one I've done interviews
and sessions with before. His talk gets technical fast, which is one of the things
I like about him! I too have a soft spot for 6502 assembler :-) and find template
meta-programming a bit of a write-only technique. I, too, like "the power the language
gives you to make the language bigger with libraries" and think that's part of the
appeal of C++ for me. Well, that and the power and performance and control, of course.
Are there downsides? Well, there's what Joni Mitchell called "the crazy you get from
too much choice" - C++ gives you many ways to do everything, according to your circumstances,
and having to decide how to do it, or having to connect two components that made different
choices about something as simple as how to represent a string, can be frustating.
As well, it's great to be in control, but that does mean that nobody is looking after
you. If you're inexperienced (and sometimes, even when you're not) you can make dangerous
choices and, as we like to say, shoot your foot off. Security holes and vulnerabilities
are important and C++ will let you write bad code, so you need to be aware of best
practices. Both Ale and Diego address these points, and you can expect to see more
of that in time to come - especially if you ask for it!
</p>
<p>
Looking forward to next month's show already,<br>
</p>
<p>
Kate<br>
</p>
<img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=51e8ced1-cf6e-4cea-b0fb-f4e83cd7b4f3" />http://www.gregcons.com/KateBlog/CommentView.aspx?guid=51e8ced1-cf6e-4cea-b0fb-f4e83cd7b4f3C++Client DevelopmentMentoringSeen and Recommendedhttp://www.gregcons.com/KateBlog/Trackback.aspx?guid=2e16080b-01f2-4821-97d1-e3d10baf2d05http://www.gregcons.com/KateBlog/pingback.aspxhttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=2e16080b-01f2-4821-97d1-e3d10baf2d05Kate Gregoryhttp://www.gregcons.com/KateBlog/CommentView.aspx?guid=2e16080b-01f2-4821-97d1-e3d10baf2d05http://www.gregcons.com/KateBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=2e16080b-01f2-4821-97d1-e3d10baf2d05
So, how cool is this? Guy
Smith-Ferrier is going to speak at the East of Toronto .NET User Group meeting
in August. Why? Because he's the kind of community-oriented person who takes time
out of a transatlantic family vacation to speak at a user group, that's why. And his
topic sounds like science fiction, but it's real:

Mind
Control Your Computer In C#

No really. This isn’t some clever
session title. I’m really talking about controlling your computer with your mind.
I’m not making this stuff up. This is real. Today. You put on a headset, you use a
C# SDK and you control your computer with your thoughts. Yes, you are reading this
right – you mind control your computer. It is a reality and it is possible today.
Once you’ve gotten over your disbelief consider the applications. Applications for
the physically impaired alone are a whole revolution. Not to mention the possibilities
for gaming. Want to be shocked and amazed ? Come and see this session.

The meeting is set for August 24th at the Whitby main library. There's something awry
with the website at the moment, and everyone who's talented enough to do anything
about it is on vacation, leaving only me, but trust me, we're having a meeting and
it's going to be a doozy. Guy is a great speaker - he even wrote and recorded a
series of videos on how to be a great presenter. He speaks at TechEd and runs
events in the UK. And it's our tremendous luck that he'll be in our neighbourhood
this summer so make sure you join us to see this session!

I have to say I really enjoyed the simplicity of the smallest Windows program possible.
I also enjoyed making it better, which included making it more of a C++ program and
less of a C one. I also covered a little Direct2D, a little COM, and a little "here's
some other stuff you're going to want to read." If it's been ages since you wrote
a Windows program in C++, or wrote one that wasn't all covered in barnacles from frameworks
and libraries you might not want to rely on for simple things, I really suggest you
give this series a read - it won't take long and you can use Visual C++ Express if
you like - the first chapter includes links and instructions for getting all the tools
you need. Better still, if you've never written a Windows in C++, why not give it
a try and let me know what you think?

Kate

ps: Never blog that you're not blogging. Never blog about why you're not blogging,
no-one cares. Just blog. Right?

Developing for Windows in C++http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=19f80df9-b939-4644-8ec8-2478b2f56b55http://www.gregcons.com/KateBlog/DevelopingForWindowsInC.aspx
Sat, 23 Jul 2011 04:39:47 GMTSo, you're a C++ programmer? You've written a Windows app or two in your time? Let me propose a little challenge to you. Write one. Only start with File, New and don't let Visual Studio generate any code for you. Write each line of it. Then explain it. No MFC, No ATL. That's what was asked of me a while back, and the result is <a href="http://msdn.microsoft.com/en-us/visualc/hh304489">a
six-paper series</a> that has finally arrived on MSDN.<br>
<br>
I have to say I really enjoyed the simplicity of the smallest Windows program possible.
I also enjoyed making it better, which included making it more of a C++ program and
less of a C one. I also covered a little Direct2D, a little COM, and a little "here's
some other stuff you're going to want to read." If it's been ages since you wrote
a Windows program in C++, or wrote one that wasn't all covered in barnacles from frameworks
and libraries you might not want to rely on for simple things, I really suggest you
give this series a read - it won't take long and you can use Visual C++ Express if
you like - the first chapter includes links and instructions for getting all the tools
you need. Better still, if you've never written a Windows in C++, why not give it
a try and let me know what you think?<br>
<br>
Kate<br>
<br>
ps: Never blog that you're not blogging. Never blog about why you're not blogging,
no-one cares. Just blog. Right?
<br>
<p>
</p>
<img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=19f80df9-b939-4644-8ec8-2478b2f56b55" />http://www.gregcons.com/KateBlog/CommentView.aspx?guid=19f80df9-b939-4644-8ec8-2478b2f56b55C++Client DevelopmentMetaSeen and RecommendedVisual Studio 2010Windows 7http://www.gregcons.com/KateBlog/Trackback.aspx?guid=6a9fa1b2-927a-4572-9134-040dc9ce582bhttp://www.gregcons.com/KateBlog/pingback.aspxhttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=6a9fa1b2-927a-4572-9134-040dc9ce582bKate Gregoryhttp://www.gregcons.com/KateBlog/CommentView.aspx?guid=6a9fa1b2-927a-4572-9134-040dc9ce582bhttp://www.gregcons.com/KateBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=6a9fa1b2-927a-4572-9134-040dc9ce582b
The screencasts
for restart and recovery in native and managed code went live before the associated
recipe was published. Now the
recipe is on Code Gallery ready for you to use. As it says there:

This recipe provides guidance and an easy way to start using these great features
in your application, removing any complication of how and where to store your application
data.

What’s in the box?

This Restart and Recovery recipe includes:

Complete source code of the recipe and its samples

Managed .NET assembly

C++ header and class files to be included in your C++ application.

C#, and C++ test applications

Documentation

Give it a try, please!

Kate

Restart and Recovery Recipeshttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=6a9fa1b2-927a-4572-9134-040dc9ce582bhttp://www.gregcons.com/KateBlog/RestartAndRecoveryRecipes.aspx
Sun, 27 Mar 2011 12:21:53 GMTThe <a href="http://www.gregcons.com/KateBlog/TwoMoreScreencastsRestartAndRecovery.aspx">screencasts
for restart and recovery</a> in native and managed code went live before the associated
recipe was published. Now <a href="http://code.msdn.microsoft.com/Windows-Restart-and-cc461aa9">the
recipe</a> is on Code Gallery ready for you to use. As it says there:<br>
<blockquote>
<p>
This recipe provides guidance and an easy way to start using these great features
in your application, removing any complication of how and where to store your application
data.
</p>
<p>
<strong>What’s in the box?</strong>
</p>
<p>
This Restart and Recovery recipe includes:
</p>
<ul>
<li>
Complete source code of the recipe and its samples
</li>
<li>
Managed .NET assembly
</li>
<li>
C++ header and class files to be included in your C++ application.
</li>
<li>
C#, and C++ test applications
</li>
<li>
Documentation
</li>
</ul>
</blockquote> Give it a try, please!<br>
<br>
Kate<br>
<br>
<p>
</p>
<img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=6a9fa1b2-927a-4572-9134-040dc9ce582b" />http://www.gregcons.com/KateBlog/CommentView.aspx?guid=6a9fa1b2-927a-4572-9134-040dc9ce582bC++Client DevelopmentSeen and RecommendedSpeakingWindows 7http://www.gregcons.com/KateBlog/Trackback.aspx?guid=ed463b5a-b035-46d1-af38-859d8225fc1bhttp://www.gregcons.com/KateBlog/pingback.aspxhttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=ed463b5a-b035-46d1-af38-859d8225fc1bKate Gregoryhttp://www.gregcons.com/KateBlog/CommentView.aspx?guid=ed463b5a-b035-46d1-af38-859d8225fc1bhttp://www.gregcons.com/KateBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=ed463b5a-b035-46d1-af38-859d8225fc1b

Here's another pair of screencasts to simplify your Windows 7 development. Both cover
Restart and Recovery - one is for native developers
and the other for managed.
As the screencast intros say:

Application Recovery
and Restart (ARR) technologies enable developers to customize an application's
behavior when Windows
Error Reporting(WER) terminates the application due to an unrecoverable error.
For example, it enables an application to perform data recovery and cleanup operations
such as capturing application state and releasing resources before termination. It
also allows developers to specify that WER should automatically restart an application
that it has terminated.

I hope they help you do the right thing when your application blows up or the machine
reboots.

Kate

Two more screencasts - Restart and Recoveryhttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=ed463b5a-b035-46d1-af38-859d8225fc1bhttp://www.gregcons.com/KateBlog/TwoMoreScreencastsRestartAndRecovery.aspx
Fri, 18 Mar 2011 00:38:55 GMT<p>
Here's another pair of screencasts to simplify your Windows 7 development. Both cover
Restart and Recovery - one is for <a href="http://channel9.msdn.com/posts/Application-Restart-and-Recovery-on-Windows-7-in-Native-Code/">native </a>developers
and the other for <a href="http://channel9.msdn.com/posts/Application-Restart-and-Recovery-on-Windows-7-in-Managed-Code">managed</a>.
As the screencast intros say:
</p>
<blockquote>
<p>
<a href="http://msdn.microsoft.com/en-ca/library/cc303708.aspx">Application Recovery
and Restart</a>&nbsp;(ARR) technologies enable developers to customize an application's
behavior when&nbsp;<a href="http://msdn.microsoft.com/en-ca/library/bb513613.aspx">Windows
Error Reporting</a>(WER) terminates the application due to an unrecoverable error.
For example, it enables an application to perform data recovery and cleanup operations
such as capturing application state and releasing resources before termination. It
also allows developers to specify that WER should automatically restart an application
that it has terminated.
</p>
</blockquote>
<p>
I hope they help you do the right thing when your application blows up or the machine
reboots.
</p>
<p>
Kate<br>
</p>
<img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=ed463b5a-b035-46d1-af38-859d8225fc1b" />http://www.gregcons.com/KateBlog/CommentView.aspx?guid=ed463b5a-b035-46d1-af38-859d8225fc1bC++Client DevelopmentSpeakingVisual Studio 2010Windows 7http://www.gregcons.com/KateBlog/Trackback.aspx?guid=c11b29a4-0f13-4c7d-a9cb-4b3021e96aefhttp://www.gregcons.com/KateBlog/pingback.aspxhttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=c11b29a4-0f13-4c7d-a9cb-4b3021e96aefKate Gregoryhttp://www.gregcons.com/KateBlog/CommentView.aspx?guid=c11b29a4-0f13-4c7d-a9cb-4b3021e96aefhttp://www.gregcons.com/KateBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=c11b29a4-0f13-4c7d-a9cb-4b3021e96aef

You
know I blog here a lot about Windows 7 goodies including taskbar integration. One
of the questions I get pretty often is how to use tasks to communicate with the running
app, such as changing your status, sending a new email, that sort of thing. I mentioned
in an aside on another
post that this requires launching some other application
that communicates with the first instance.

If you'd like to do that, it just got a little easier with the release of a "recipe"
from Microsoft that packages up this concept and lets you use it with very little
extra code. As it says on the Code
Gallery page for the recipe:

This Taskbar Single Instance Recipe allows developers to easily develop applications
that use "Messenger Like" tasks that change the state of the currently running instance,
allowing it to react to incoming state-change notifications and act accordingly.

This Recipe includes:

Native (C++) and managed (.NET) Source code for the Single Instance library

Well documented native (C++) and managed (.NET) samples

Documentation

To compile and run the recipe and samples the following items are required:

Microsoft Visual Studio 2010

Windows 7 – Note that only the samples require Windows 7.

Yes, this recipe is actually two recipes - one native and one managed, and comes with
whitepapers explaining how it's done. I mentioned this in my Tech Ed Europe talk on Advanced
Windows 7 development and it's finally released for you to use! Enjoy!

Kate

Windows 7 Recipe - Taskbar Single Instancehttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=c11b29a4-0f13-4c7d-a9cb-4b3021e96aefhttp://www.gregcons.com/KateBlog/Windows7RecipeTaskbarSingleInstance.aspx
Wed, 16 Mar 2011 00:18:48 GMT<p>
<span class="Apple-style-span"><span style="font-family: Verdana,Arial,Helvetica,sans-serif,Geneva; color: rgb(8, 8, 8); font-size: 11px;" class="Apple-style-span"><span style="font-size: small;">You
know I blog here a lot about Windows 7 goodies including taskbar integration. One
of the questions I get pretty often is how to use tasks to communicate with the running
app, such as changing your status, sending a new email, that sort of thing. I mentioned
in an aside on <a href="http://www.gregcons.com/KateBlog/Windows7TasksVsThumbnailButtons.aspx">another
post</a> that </span></span></span>this requires launching some other application
that communicates with the first instance.
</p>
<p>
<img src="content/binary/outlook%20jumplist.jpg" border="0">
</p>
<p>
If you'd like to do that, it just got a little easier with the release of a "recipe"
from Microsoft that packages up this concept and lets you use it with very little
extra code. As it says on the <a href="http://code.msdn.microsoft.com/Windows-7-Taskbar-Single-4120eafd">Code
Gallery page for the recipe</a>:
</p>
<blockquote>
<p>
This Taskbar Single Instance Recipe allows developers to easily develop applications
that use "Messenger Like" tasks that change the state of the currently running instance,
allowing it to react to incoming state-change notifications and act accordingly.<br>
<br>
This Recipe includes:
<br>
</p>
<ul>
<li>
Native (C++) and managed (.NET) Source code for the Single Instance library
</li>
<li>
Well documented native (C++) and managed (.NET) samples
</li>
<li>
Documentation
</li>
</ul>
<p>
To compile and run the recipe and samples the following items are required:<br>
</p>
<ul>
<li>
Microsoft Visual Studio 2010
</li>
<li>
Windows 7 – Note that only the samples require Windows 7.&nbsp;
</li>
</ul>
</blockquote>
<p>
Yes, this recipe is actually two recipes - one native and one managed, and comes with
whitepapers explaining how it's done. I mentioned this in my Tech Ed Europe talk on <a href="http://www.msteched.com/2010/Europe/WCL329">Advanced
Windows 7 development</a> and it's finally released for you to use! Enjoy!
</p>
<p>
Kate<br>
</p>
<img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=c11b29a4-0f13-4c7d-a9cb-4b3021e96aef" />http://www.gregcons.com/KateBlog/CommentView.aspx?guid=c11b29a4-0f13-4c7d-a9cb-4b3021e96aefC++Client DevelopmentSeen and RecommendedSpeakingVisual Studio 2010Windows 7http://www.gregcons.com/KateBlog/Trackback.aspx?guid=7b104f35-008b-4d0e-9cda-7ea8593c56b1http://www.gregcons.com/KateBlog/pingback.aspxhttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=7b104f35-008b-4d0e-9cda-7ea8593c56b1Kate Gregoryhttp://www.gregcons.com/KateBlog/CommentView.aspx?guid=7b104f35-008b-4d0e-9cda-7ea8593c56b1http://www.gregcons.com/KateBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=7b104f35-008b-4d0e-9cda-7ea8593c56b1

Whenever new stuff appears in the Microsoft universe, native C++ developers can get
to it first. That's because they can easily call Windows APIs or COM interfaces or
however it's implemented. Managed developers need to wait until the new stuff gets
added to the .NET Framework or to a particular managed technology, like WPF. Take
taskbar integration, for example: adding tasks and destinations, getting a progress
bar or icon overlay on your taskbar icon, and so on. From the very beginning you could
interact with the taskbar from native code by making Windows API calls. The Code
Pack is a popular managed wrapper from Microsoft that enables those interactions
from managed code such as Windows Forms applications. In the early days of Windows
7, WPF developers also used the Code Pack - but now those capabilities are in WPF
itself.

Does that mean that native developers get nothing new? On release day they gain the
ability to call those APIs and that's that? Of course not. Native developers use frameworks
and libraries to build their applications, and those frameworks and libraries in many
cases are wrappers for Windows functionality. One of those is MFC and you should know
that MFC has support for Windows 7 functionality.

If that's news to you, then watch my
screencast on Channel 9 in which I cover jumplists and overlays with lots of demos.
It's just one or two lines of code for each of these. Users expect their apps to behave
like this. MFC makes it simple.

Kate

My screencast - Windows 7 Taskbar Integration with MFChttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=7b104f35-008b-4d0e-9cda-7ea8593c56b1http://www.gregcons.com/KateBlog/MyScreencastWindows7TaskbarIntegrationWithMFC.aspx
Sun, 13 Mar 2011 23:58:23 GMT<p>
Whenever new stuff appears in the Microsoft universe, native C++ developers can get
to it first. That's because they can easily call Windows APIs or COM interfaces or
however it's implemented. Managed developers need to wait until the new stuff gets
added to the .NET Framework or to a particular managed technology, like WPF. Take
taskbar integration, for example: adding tasks and destinations, getting a progress
bar or icon overlay on your taskbar icon, and so on. From the very beginning you could
interact with the taskbar from native code by making Windows API calls. The <a href="http://archive.msdn.microsoft.com/WindowsAPICodePack">Code
Pack</a> is a popular managed wrapper from Microsoft that enables those interactions
from managed code such as Windows Forms applications. In the early days of Windows
7, WPF developers also used the Code Pack - but now those capabilities are in WPF
itself.
</p>
<p>
Does that mean that native developers get nothing new? On release day they gain the
ability to call those APIs and that's that? Of course not. Native developers use frameworks
and libraries to build their applications, and those frameworks and libraries in many
cases are wrappers for Windows functionality. One of those is MFC and you should know
that MFC has support for Windows 7 functionality.
</p>
<p>
If that's news to you, then watch <a href="http://channel9.msdn.com/posts/Windows-7-Taskbar-Integration-for-MFC-Applications">my
screencast on Channel 9 </a>in which I cover jumplists and overlays with lots of demos.
It's just one or two lines of code for each of these. Users expect their apps to behave
like this. MFC makes it simple.<br>
</p>
<p>
Kate
</p>
<p>
</p>
<img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=7b104f35-008b-4d0e-9cda-7ea8593c56b1" />http://www.gregcons.com/KateBlog/CommentView.aspx?guid=7b104f35-008b-4d0e-9cda-7ea8593c56b1C++Client DevelopmentSeen and RecommendedVisual Studio 2010Windows 7http://www.gregcons.com/KateBlog/Trackback.aspx?guid=0e04beaa-ef20-4dae-b3ac-2117a0dc9ec6http://www.gregcons.com/KateBlog/pingback.aspxhttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=0e04beaa-ef20-4dae-b3ac-2117a0dc9ec6Kate Gregoryhttp://www.gregcons.com/KateBlog/CommentView.aspx?guid=0e04beaa-ef20-4dae-b3ac-2117a0dc9ec6http://www.gregcons.com/KateBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=0e04beaa-ef20-4dae-b3ac-2117a0dc9ec6

Writing samples and demos is tough. You want them to do more than say "Hello World"
or draw a red square, but you want them to be simple enough that people can see the
"new stuff" you're demoing (WPF, or Windows 7 taskbar integration) or multi-touch)
in amongst the real business logic. It would be neat if they did something actually
useful, because then you might keep it around on your machine and use it, but most
things that are useful are too big to be demos.

Well here's a sample that lands in the sweet spot: Tasks.Show.
You put in your tasks, things from your ToDo list, along with time estimates, and
it keeps track of them and shows them to you. I like this view:

It uses touch to let you flick tasks into categories, and has taskbar integration
to let you open a specific category, add a task, and so on. All the source code is
available so you can see how it's done - it is a demo, after all. You can get more
details and screen shots on the Windows
Team Blog. Check it out!

Kate

Fun WPF Sample - Tasks.Showhttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=0e04beaa-ef20-4dae-b3ac-2117a0dc9ec6http://www.gregcons.com/KateBlog/FunWPFSampleTasksShow.aspx
Fri, 11 Mar 2011 15:31:40 GMT<p>
Writing samples and demos is tough. You want them to do more than say "Hello World"
or draw a red square, but you want them to be simple enough that people can see the
"new stuff" you're demoing (WPF, or Windows 7 taskbar integration) or multi-touch)
in amongst the real business logic. It would be neat if they did something actually
useful, because then you might keep it around on your machine and use it, but most
things that are useful are too big to be demos.
</p>
<p>
Well here's a sample that lands in the sweet spot: <a href="http://code.msdn.microsoft.com/TasksShow-1bf01c8d">Tasks.Show</a>.
You put in your tasks, things from your ToDo list, along with time estimates, and
it keeps track of them and shows them to you. I like this view:
</p>
<p>
<img src="http://www.gregcons.com/KateBlog/content/binary/tasks.bmp" border="0">
</p>
<p>
It uses touch to let you flick tasks into categories, and has taskbar integration
to let you open a specific category, add a task, and so on. All the source code is
available so you can see how it's done - it is a demo, after all. You can get more
details and screen shots on the <a href="http://windowsteamblog.com/windows/b/developers/archive/2011/02/24/tasks-show-a-windows-7-developers-resource.aspx">Windows
Team Blog</a>. Check it out!
</p>
<p>
Kate<br>
</p>
<img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=0e04beaa-ef20-4dae-b3ac-2117a0dc9ec6" />http://www.gregcons.com/KateBlog/CommentView.aspx?guid=0e04beaa-ef20-4dae-b3ac-2117a0dc9ec6Client DevelopmentConsulting LifeSeen and RecommendedVisual Studio 2010Windows 7http://www.gregcons.com/KateBlog/Trackback.aspx?guid=e649e3c1-a200-47ba-b2f3-fd668c247c33http://www.gregcons.com/KateBlog/pingback.aspxhttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=e649e3c1-a200-47ba-b2f3-fd668c247c33Kate Gregoryhttp://www.gregcons.com/KateBlog/CommentView.aspx?guid=e649e3c1-a200-47ba-b2f3-fd668c247c33http://www.gregcons.com/KateBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=e649e3c1-a200-47ba-b2f3-fd668c247c33
Here's an interesting blog
post. Say you use MFC and are wondering whether anything was added to it in a
particular release. What tool would you use for that? How about CppDepend? If you've
never used it, seeing how it provides the illustrations for this post should show
you the appeal of it. Either way, you're going to learn something.

Kate

Two In One - See What's New in MFC, See How CppDepend Workshttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=e649e3c1-a200-47ba-b2f3-fd668c247c33http://www.gregcons.com/KateBlog/TwoInOneSeeWhatsNewInMFCSeeHowCppDependWorks.aspx
Mon, 28 Feb 2011 03:11:52 GMTHere's an interesting <a href="http://cppdepend.wordpress.com/2010/08/29/visual-c-2010-what%C3%A2%C2%80%C2%99s-new-for-mfc-library/">blog
post</a>. Say you use MFC and are wondering whether anything was added to it in a
particular release. What tool would you use for that? How about CppDepend? If you've
never used it, seeing how it provides the illustrations for this post should show
you the appeal of it. Either way, you're going to learn something.<br>
<br>
Kate<br>
<p>
</p>
<img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=e649e3c1-a200-47ba-b2f3-fd668c247c33" />http://www.gregcons.com/KateBlog/CommentView.aspx?guid=e649e3c1-a200-47ba-b2f3-fd668c247c33C++Client DevelopmentSeen and RecommendedVisual Studio 2010http://www.gregcons.com/KateBlog/Trackback.aspx?guid=777b1494-d5a0-4564-952a-c034deb70dc0http://www.gregcons.com/KateBlog/pingback.aspxhttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=777b1494-d5a0-4564-952a-c034deb70dc0Kate Gregoryhttp://www.gregcons.com/KateBlog/CommentView.aspx?guid=777b1494-d5a0-4564-952a-c034deb70dc0http://www.gregcons.com/KateBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=777b1494-d5a0-4564-952a-c034deb70dc0
Pete Brown is a WPF guy and I've learned
a lot from him. Now I get to watch him learn. Recently he wanted to write an add-in
for IE and he decided to do it in C++. You can see how he struggled through it and
get some tips of your own in the detailed
post he wrote about the experience. I agree with the commenter who said you should
only run Visual Studio as admin when you know you're going to do a step (like registration)
that requires elevation, and you should run non-elevated the rest of the time, and
the one who tweaked the string code to take advantage of being in C++. If you have
some tweaks of your own, stop by and add a comment.

Kate

Watching a Managed Developer Come Back to C++http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=777b1494-d5a0-4564-952a-c034deb70dc0http://www.gregcons.com/KateBlog/WatchingAManagedDeveloperComeBackToC.aspx
Fri, 25 Feb 2011 23:20:58 GMTPete Brown is a WPF guy and I've learned a lot from him. Now I get to watch him learn. Recently he wanted to write an add-in for IE and he decided to do it in C++. You can see how he struggled through it and get some tips of your own in the <a href="http://10rem.net/blog/2011/02/22/creating-an-internet-explorer-add-in-toolbar-button-using-cplusplus-and-atl">detailed
post</a> he wrote about the experience. I agree with the commenter who said you should
only run Visual Studio as admin when you know you're going to do a step (like registration)
that requires elevation, and you should run non-elevated the rest of the time, and
the one who tweaked the string code to take advantage of being in C++. If you have
some tweaks of your own, stop by and add a comment.<br>
<br>
Kate<br>
<p>
</p>
<img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=777b1494-d5a0-4564-952a-c034deb70dc0" />http://www.gregcons.com/KateBlog/CommentView.aspx?guid=777b1494-d5a0-4564-952a-c034deb70dc0C++Client DevelopmentConsulting LifeSeen and RecommendedVisual Studio 2010http://www.gregcons.com/KateBlog/Trackback.aspx?guid=d7599a0d-0ef5-476f-bc6d-66b9fce1b76dhttp://www.gregcons.com/KateBlog/pingback.aspxhttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=d7599a0d-0ef5-476f-bc6d-66b9fce1b76dKate Gregoryhttp://www.gregcons.com/KateBlog/CommentView.aspx?guid=d7599a0d-0ef5-476f-bc6d-66b9fce1b76dhttp://www.gregcons.com/KateBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=d7599a0d-0ef5-476f-bc6d-66b9fce1b76d

Imagine an app that you have running under Windows 7 as a desktop app. Now as much
as you are enjoying the Windows 7 features it uses, you know there is some functionality
there you could offer to people another way. Do you have to just start over to make
it into a phone app? What if you want it in a browser? If you write the desktop part
in WPF, will that be something you can use when you create the Silverlight code for
the browser or phone apps? Well, check this mission statement:

Our goal was to enable seamless and easy sharing of decks among users
across different computers. The idea was simple, upload the deck to the cloud, and
let the user send a message to whomever the user wants to share the deck with. That
message will include a link for the receiving party to click on to launch a web browser
and run a Silverlight application that can “play” the shared deck. The Silverlight
application dynamically downloads the shared deck and displays that single deck just
as it would be displayed on the WPF application. At this point the user can launch
any of the 3 games: Learning, Matching, or Memory, with the same user experience as
the WPF application.

Sounds like just what you might like to do in some of your apps, doesn't it? Oh yeah,
and would you like the code?
And a blog
post explaining the code? And a video
on Channel 9?

Happy to help!

Kate

Fun Windows 7 demo now on your phone and in your browser http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=d7599a0d-0ef5-476f-bc6d-66b9fce1b76dhttp://www.gregcons.com/KateBlog/FunWindows7DemoNowOnYourPhoneAndInYourBrowser.aspx
Sat, 19 Feb 2011 22:53:09 GMT<p>
Imagine an app that you have running under Windows 7 as a desktop app. Now as much
as you are enjoying the Windows 7 features it uses, you know there is some functionality
there you could offer to people another way. Do you have to just start over to make
it into a phone app? What if you want it in a browser? If you write the desktop part
in WPF, will that be something you can use when you create the Silverlight code for
the browser or phone apps? Well, check this mission statement:
</p>
<p>
</p>
<blockquote>Our goal was to enable seamless and easy sharing of decks among users
across different computers. The idea was simple, upload the deck to the cloud, and
let the user send a message to whomever the user wants to share the deck with. That
message will include a link for the receiving party to click on to launch a web browser
and run a Silverlight application that can “play” the shared deck. The Silverlight
application dynamically downloads the shared deck and displays that single deck just
as it would be displayed on the WPF application. At this point the user can launch
any of the 3 games: Learning, Matching, or Memory, with the same user experience as
the WPF application. </blockquote>
<p>
</p>
<p>
<img src="http://www.gregcons.com/KateBlog/content/binary/flashcards.jpg" border="0">
</p>
<p>
Sounds like just what you might like to do in some of your apps, doesn't it? Oh yeah,
and would you like the <a href="http://code.msdn.microsoft.com/FlashcardsShow-84f2b3ba">code</a>?
And a <a href="http://windowsteamblog.com/windows/b/developers/archive/2011/02/17/flashcards-show-version-2-for-the-desktop-browser-and-windows-phone.aspx">blog
post</a> explaining the code? And a <a href="http://channel9.msdn.com/posts/FlashcardsShow-Version-2-running-on-Windows-Phone-and-IE">video
on Channel 9</a>?
</p>
<p>
Happy to help!
</p>
<p>
Kate
</p>
<img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=d7599a0d-0ef5-476f-bc6d-66b9fce1b76d" />http://www.gregcons.com/KateBlog/CommentView.aspx?guid=d7599a0d-0ef5-476f-bc6d-66b9fce1b76dClient DevelopmentSeen and RecommendedWindows 7http://www.gregcons.com/KateBlog/Trackback.aspx?guid=7bcf1918-c9e9-4615-8681-8245ef3eb856http://www.gregcons.com/KateBlog/pingback.aspxhttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=7bcf1918-c9e9-4615-8681-8245ef3eb856Kate Gregoryhttp://www.gregcons.com/KateBlog/CommentView.aspx?guid=7bcf1918-c9e9-4615-8681-8245ef3eb856http://www.gregcons.com/KateBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=7bcf1918-c9e9-4615-8681-8245ef3eb856
If you're a Canadian and you've been thinking
of playing around with the Windows
Phone
Developer Tools, now would be a great time to get started. Microsoft Canada is running
something they call the Great Canadian Apportunity, and the grand prize is $10,000.
There are plenty of other prizes, too - Xboxen, Kinects, passes to Mesh and more.
Joey has some of the details on
his blog, and you can check out the main
site to get started!

It's on till April 30th. You must be a resident of Canada and over 18 (younger developers
need parental permission), not work for Microsoft etc.

In fact, there are just so darn many samples right now that it's getting harder to
find the one you want. What a great problem to have! So they've released a sample
browser to help you search and browse and generally get your hands on the code
that will solve your problem and move you on to the next part of your day.

What are you waiting for? Go get it!

Kate

More Good stuff happening with All-In-One Code Frameworkhttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=29f89049-e38e-40f2-a209-9614d99bf915http://www.gregcons.com/KateBlog/MoreGoodStuffHappeningWithAllInOneCodeFramework.aspx
Wed, 09 Feb 2011 16:41:05 GMTAt the end of January, the busy bees at <a href="http://1code.codeplex.com/">All-in-One</a> (OK,
they're not bees, they're Microsoft engineers) <a href="http://blogs.msdn.com/b/codefx/archive/2011/01/25/code-sample-update-in-january-2011-microsoft-all-in-one-code-framework.aspx">released </a>even
more samples including Azure, setting a hotkey that Windows will route to your app
even if it doesn't have focus, detecting if the machine has been locked (with Windows+L)
or unlocked, downloading multiple files with ftp, and many more. As always these are
in VB, C#, and almost all of them are also in native C++.<br>
<br>
In fact, there are just so darn many samples right now that it's getting harder to
find the one you want. What a great problem to have! So they've released a <a href="http://blogs.msdn.com/b/codefx/archive/2011/02/06/microsoft-all-in-one-code-framework-quot-sample-browser-quot-v2-available-for-technical-preview.aspx">sample
browser</a> to help you search and browse and generally get your hands on the code
that will solve your problem and move you on to the next part of your day.<br>
<br>
What are you waiting for? Go get it!<br>
<br>
Kate<br>
<p>
</p>
<img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=29f89049-e38e-40f2-a209-9614d99bf915" />http://www.gregcons.com/KateBlog/CommentView.aspx?guid=29f89049-e38e-40f2-a209-9614d99bf915C++Client DevelopmentConcurrencyConsulting LifeSeen and RecommendedWindows 7http://www.gregcons.com/KateBlog/Trackback.aspx?guid=d0d12252-e826-451f-94b0-fd20561ddfe6http://www.gregcons.com/KateBlog/pingback.aspxhttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=d0d12252-e826-451f-94b0-fd20561ddfe6Kate Gregoryhttp://www.gregcons.com/KateBlog/CommentView.aspx?guid=d0d12252-e826-451f-94b0-fd20561ddfe6http://www.gregcons.com/KateBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=d0d12252-e826-451f-94b0-fd20561ddfe62

Like a lot of folks, I have a Windows Phone and I enjoy it a lot. I've filled it up
with (free) games and they pass the time quickly when I have to wait in line or otherwise
have an empty minute or two. C++ MVP Marius Bancila had the same experience, but unlike
me he responded by writing a version of the game in MFC so he could play it on his
own PC as well as on a phone.

You can get the source from his
blog post, and another
post and its comments (mostly in Romanian - Bing
Translate is your friend there) have a nice discussion of performance issues.
After all, whenever two or more C++ programmers gather together, someone is going
to have an opinion about performance. Take a look for yourself!

Kate

MFC applications in unlikely placeshttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=d0d12252-e826-451f-94b0-fd20561ddfe6http://www.gregcons.com/KateBlog/MFCApplicationsInUnlikelyPlaces.aspx
Tue, 01 Feb 2011 23:45:11 GMT<p>
Like a lot of folks, I have a Windows Phone and I enjoy it a lot. I've filled it up
with (free) games and they pass the time quickly when I have to wait in line or otherwise
have an empty minute or two. C++ MVP Marius Bancila had the same experience, but unlike
me he responded by writing a version of the game in MFC so he could play it on his
own PC as well as on a phone.
</p>
<p>
<img src="http://www.gregcons.com/KateBlog/content/binary/colorsgame.jpg" border="0" width="800" height="592">
</p>
<p>
You can get the source from <a href="http://mariusbancila.ro/blog/2010/08/04/colors-game/">his
blog post</a>, and <a href="http://mariusbancila.ro/blog/2010/08/06/colors-game-redux/">another
post and its comments</a> (mostly in Romanian - <a href="http://www.microsofttranslator.com/bv.aspx?from=ro&amp;to=en&amp;a=http%3A%2F%2Fmariusbancila.ro%2Fblog%2F2010%2F08%2F06%2Fcolors-game-redux%2F">Bing
Translate</a> is your friend there) have a nice discussion of performance issues.
After all, whenever two or more C++ programmers gather together, someone is going
to have an opinion about performance. Take a look for yourself!
</p>
<p>
Kate<br>
</p>
<img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=d0d12252-e826-451f-94b0-fd20561ddfe6" />http://www.gregcons.com/KateBlog/CommentView.aspx?guid=d0d12252-e826-451f-94b0-fd20561ddfe6C++Client DevelopmentMVPSeen and RecommendedVisual Studio 2010http://www.gregcons.com/KateBlog/Trackback.aspx?guid=6bca8561-513f-4f88-ae36-a08fd69efdefhttp://www.gregcons.com/KateBlog/pingback.aspxhttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=6bca8561-513f-4f88-ae36-a08fd69efdefKate Gregoryhttp://www.gregcons.com/KateBlog/CommentView.aspx?guid=6bca8561-513f-4f88-ae36-a08fd69efdefhttp://www.gregcons.com/KateBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=6bca8561-513f-4f88-ae36-a08fd69efdef2
There are some really amazing WPF applications
out there, and many of them are extraordinarily beautiful. I am not very good at making
beautiful applications, though the WPF
themes help avoid the "grey boxes on a grey background" look I usually achieve.
Now if you want to develop an application that presents a whole new paradigm, there
should be someone on your team who really "gets" user experience and how colours work
together and so on. But what if you just want to make the same sort of apps you've
always made, using the latest technology instead of something a little older? You
want to think the way you thought when you were doing Windows Forms, for example,
and use the same tools, but end up with a WPF application or a Silverlight application.

Well, Pete Brown has an
interesting blog post speaking directly to this kind of developer. He makes the
case that for these kinds of applications, you don't need to add a designer to the
team. Plenty of screenshots to support his theory - see what you think. I think I
agree, myself. Because the post was last year, there's lots of interesting conversation
happening in the comments, too, so be sure to read those while you're there.

Kate

Moving to WPF and Silverlight - fear of not being a designerhttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=6bca8561-513f-4f88-ae36-a08fd69efdefhttp://www.gregcons.com/KateBlog/MovingToWPFAndSilverlightFearOfNotBeingADesigner.aspx
Sun, 30 Jan 2011 23:48:22 GMTThere are some really amazing WPF applications out there, and many of them are extraordinarily beautiful. I am not very good at making beautiful applications, though the <a href="http://wpf.codeplex.com/wikipage?title=WPF%20Themes&amp;referringTitle=Home">WPF
themes</a> help avoid the "grey boxes on a grey background" look I usually achieve.
Now if you want to develop an application that presents a whole new paradigm, there
should be someone on your team who really "gets" user experience and how colours work
together and so on. But what if you just want to make the same sort of apps you've
always made, using the latest technology instead of something a little older? You
want to think the way you thought when you were doing Windows Forms, for example,
and use the same tools, but end up with a WPF application or a Silverlight application.<br>
<br>
Well, Pete Brown has <a href="http://10rem.net/blog/2010/11/19/windows-forms-to-xaml-do-i-really-need-a-designer-for-silverlight-or-wpf-applications">an
interesting blog post</a> speaking directly to this kind of developer. He makes the
case that for these kinds of applications, you don't need to add a designer to the
team. Plenty of screenshots to support his theory - see what you think. I think I
agree, myself. Because the post was last year, there's lots of interesting conversation
happening in the comments, too, so be sure to read those while you're there.<br>
<br>
Kate<br>
<p>
</p>
<img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=6bca8561-513f-4f88-ae36-a08fd69efdef" />http://www.gregcons.com/KateBlog/CommentView.aspx?guid=6bca8561-513f-4f88-ae36-a08fd69efdefClient DevelopmentSeen and RecommendedVisual Studio 2010http://www.gregcons.com/KateBlog/Trackback.aspx?guid=0c10e721-69cb-4889-8453-7c3c65ca01d2http://www.gregcons.com/KateBlog/pingback.aspxhttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=0c10e721-69cb-4889-8453-7c3c65ca01d2Kate Gregoryhttp://www.gregcons.com/KateBlog/CommentView.aspx?guid=0c10e721-69cb-4889-8453-7c3c65ca01d2http://www.gregcons.com/KateBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=0c10e721-69cb-4889-8453-7c3c65ca01d2

Recently the East of Toronto .NET User Group had a Windows
Phone 7 presentation (by Atley Hunter)
that was very well done, and well attended. (He's blogged
about it and included some helpful links, so you should be sure to read his post
too.) You would never have known it was his first presentation - he was calm and confident
and knew what he was talking about.

At the meeting I met Ashish Kaila,
who is working on a toolkit for WPF developers and a Windows Phone 7 library. He showed
me the docking panes and some other fun functionality.

To me this is a huge benefit of user group meetings: in addition to the presentations,
usually as good as any you would see at a paying conference, you also can meet fellow
attendees. I hadn't heard of these tools before, and they could save you a lot of
time and effort. The next best thing to coming to meetings, I suppose, is reading
blog posts about meetings. Here's where you can learn more about Ashish and his products:

If you're not going to your local user group meetings, why on earth not? We don't
bite, honestly, and you have so much to learn and gain from being there. See you next
time!

Kate

User Group meetings, WPF and Windows Phone Toolkit, new speaker, and morehttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=0c10e721-69cb-4889-8453-7c3c65ca01d2http://www.gregcons.com/KateBlog/UserGroupMeetingsWPFAndWindowsPhoneToolkitNewSpeakerAndMore.aspx
Mon, 24 Jan 2011 23:17:48 GMT<p>
Recently the East of Toronto .NET User Group had a <a href="http://gtaeast.torontoug.net/UG_Events/3031.aspx">Windows
Phone 7 presentation</a> (by <a href="http://www.atleyhunter.com/">Atley Hunter</a>)
that was very well done, and well attended. (He's<a href="http://www.atleyhunter.com/2011/01/22/now-that-was-fun/"> blogged
about it</a> and included some helpful links, so you should be sure to read his post
too.) You would never have known it was his first presentation - he was calm and confident
and knew what he was talking about.<br>
</p>
<p>
<img src="content/binary/Presentation-Logo_thumb.png" border="0">
</p>
<p>
At the meeting I met <a href="http://ashishkaila.blogspot.com/">Ashish Kaila</a>,
who is working on a toolkit for WPF developers and a Windows Phone 7 library. He showed
me the docking panes and some other fun functionality.
</p>
<p>
<img src="content/binary/docking.png" border="0">
</p>
<p>
To me this is a huge benefit of user group meetings: in addition to the presentations,
usually as good as any you would see at a paying conference, you also can meet fellow
attendees. I hadn't heard of these tools before, and they could save you a lot of
time and effort. The next best thing to coming to meetings, I suppose, is reading
blog posts about meetings. Here's where you can learn more about Ashish and his products:
</p>
<ul>
<li>
<a href="http://www.codeproject.com/KB/WPF/WPFDockingToolkit.aspx">Building a Docking
Window Management Solution in WPF</a>
</li>
<li>
<a href="http://www.codeproject.com/KB/WPF/CustomWPFWindow.aspx">Create Custom Windows
in WPF with Ease</a>
</li>
<li>
<a href="http://mixmodessynergy.codeplex.com/">MixModes Synergy - The Ultimate Plaform
Toolkit for WPF, WP7 and Silverlight</a>
</li>
</ul>
<p>
If you're not going to your local user group meetings, why on earth not? We don't
bite, honestly, and you have so much to learn and gain from being there. See you <a href="http://gtaeast.torontoug.net/UG_Events/default.aspx">next
time</a>!<br>
</p>
<p>
Kate
</p>
<img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=0c10e721-69cb-4889-8453-7c3c65ca01d2" />http://www.gregcons.com/KateBlog/CommentView.aspx?guid=0c10e721-69cb-4889-8453-7c3c65ca01d2Client DevelopmentSeen and RecommendedSpeakinghttp://www.gregcons.com/KateBlog/Trackback.aspx?guid=9127464e-8539-4d79-8253-af299e0bd3c0http://www.gregcons.com/KateBlog/pingback.aspxhttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=9127464e-8539-4d79-8253-af299e0bd3c0Kate Gregoryhttp://www.gregcons.com/KateBlog/CommentView.aspx?guid=9127464e-8539-4d79-8253-af299e0bd3c0http://www.gregcons.com/KateBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=9127464e-8539-4d79-8253-af299e0bd3c0
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!

KateTech Ed North America Session Preferenceshttp://www.gregcons.com/KateBlog/PermaLink.aspx?guid=9127464e-8539-4d79-8253-af299e0bd3c0http://www.gregcons.com/KateBlog/TechEdNorthAmericaSessionPreferences.aspx
Sat, 08 Jan 2011 15:14:11 GMTThe voting is open at <a href="http://northamerica.msteched.com/sessionpreference">the
Tech Ed site</a> 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.<br>
<br>
First, C++:<br>
<img src="http://www.gregcons.com/KateBlog/content/binary/c++%20sessions.jpg" border="0">
<br>
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.<br>
<br>
Next, Windows 7 development. Let's try Code Pack:<br>
<img src="http://www.gregcons.com/KateBlog/content/binary/code%20pack%20sessions.jpg" border="0">
<br>
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):<br>
<img src="http://www.gregcons.com/KateBlog/content/binary/wpf%20sessions.jpg" border="0">
<br>
<br>
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!<br>
<br>
Kate<br>
<img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=9127464e-8539-4d79-8253-af299e0bd3c0" />http://www.gregcons.com/KateBlog/CommentView.aspx?guid=9127464e-8539-4d79-8253-af299e0bd3c0C++Client DevelopmentSeen and RecommendedSpeakingTravelWindows 7