<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>Kate Gregory's Blog</title>
    <link>http://www.gregcons.com/KateBlog/</link>
    <description>Really Good Donut</description>
    <language>en-us</language>
    <copyright>Kate Gregory</copyright>
    <lastBuildDate>Tue, 31 Aug 2010 23:19:29 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 1.8.5223.0</generator>
    <managingEditor>kate@gregcons.com</managingEditor>
    <webMaster>kate@gregcons.com</webMaster>
    <item>
      <trackback:ping>http://www.gregcons.com/KateBlog/Trackback.aspx?guid=91f34751-e9b3-4996-bb94-4021aa175a89</trackback:ping>
      <pingback:server>http://www.gregcons.com/KateBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=91f34751-e9b3-4996-bb94-4021aa175a89</pingback:target>
      <dc:creator>kate@gregcons.com (Kate Gregory)</dc:creator>
      <wfw:comment>http://www.gregcons.com/KateBlog/CommentView.aspx?guid=91f34751-e9b3-4996-bb94-4021aa175a89</wfw:comment>
      <wfw:commentRss>http://www.gregcons.com/KateBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=91f34751-e9b3-4996-bb94-4021aa175a89</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">Let's say you read <a href="http://www.gregcons.com/KateBlog/AMustReadForCDevs.aspx">the
   entry about data structure visualizers </a>and in addition to all the STL humour you
   got excited about being able to control the way the debugger shows your objects as
   you work at understanding your application at runtime. And then you were sad because
   you don't do native C++ work and you don't know how you could get the same behaviour
   in a managed application. Well, have I got a keyword for you - <a href="http://msdn.microsoft.com/en-us/library/x810d419.aspx">DebuggerDisplay</a>.
   Don't like that MSDN page about it? <a href="http://msdn.microsoft.com/en-us/library/ms228992.aspx">Here's
   another</a>. Quick and easy, at least for simple types with only a few member variables.
   Give it a whirl. There's<a href="http://www.dev102.com/2009/04/09/debuggerdisplay-and-debuggerbrowsable-two-debugger-attributes-you-should-know/"> a
   nice example </a>with screen shots at Dev102.<br /><br />
   Kate<br /><p></p><img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=91f34751-e9b3-4996-bb94-4021aa175a89" /></body>
      <title>the DebuggerDisplay attribute</title>
      <guid>http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=91f34751-e9b3-4996-bb94-4021aa175a89</guid>
      <link>http://www.gregcons.com/KateBlog/theDebuggerDisplayAttribute.aspx</link>
      <pubDate>Tue, 31 Aug 2010 23:19:29 GMT</pubDate>
      <description>Let's say you read &lt;a href="http://www.gregcons.com/KateBlog/AMustReadForCDevs.aspx"&gt;the
entry about data structure visualizers &lt;/a&gt;and in addition to all the STL humour you
got excited about being able to control the way the debugger shows your objects as
you work at understanding your application at runtime. And then you were sad because
you don't do native C++ work and you don't know how you could get the same behaviour
in a managed application. Well, have I got a keyword for you - &lt;a href="http://msdn.microsoft.com/en-us/library/x810d419.aspx"&gt;DebuggerDisplay&lt;/a&gt;.
Don't like that MSDN page about it? &lt;a href="http://msdn.microsoft.com/en-us/library/ms228992.aspx"&gt;Here's
another&lt;/a&gt;. Quick and easy, at least for simple types with only a few member variables.
Give it a whirl. There's&lt;a href="http://www.dev102.com/2009/04/09/debuggerdisplay-and-debuggerbrowsable-two-debugger-attributes-you-should-know/"&gt; a
nice example &lt;/a&gt;with screen shots at Dev102.&lt;br&gt;
&lt;br&gt;
Kate&lt;br&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=91f34751-e9b3-4996-bb94-4021aa175a89" /&gt;</description>
      <comments>http://www.gregcons.com/KateBlog/CommentView.aspx?guid=91f34751-e9b3-4996-bb94-4021aa175a89</comments>
      <category>Mentoring;Seen and Recommended</category>
    </item>
    <item>
      <trackback:ping>http://www.gregcons.com/KateBlog/Trackback.aspx?guid=32efb161-7df8-49af-91a8-ed9b2b02b428</trackback:ping>
      <pingback:server>http://www.gregcons.com/KateBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=32efb161-7df8-49af-91a8-ed9b2b02b428</pingback:target>
      <dc:creator>kate@gregcons.com (Kate Gregory)</dc:creator>
      <wfw:comment>http://www.gregcons.com/KateBlog/CommentView.aspx?guid=32efb161-7df8-49af-91a8-ed9b2b02b428</wfw:comment>
      <wfw:commentRss>http://www.gregcons.com/KateBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=32efb161-7df8-49af-91a8-ed9b2b02b428</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">I somehow missed this <a href="http://www.wintellect.com/CS/blogs/jrobbins/archive/2010/05/16/writing-data-structure-visualizers-for-native-c-stl-code.aspx">John
   Robbins blog post</a> from back in May. He calls out an excellent presentation on
   writing data structure visualizers presented at BoostCon 2010. Here's the title slide:<br /><p></p><img src="http://www.gregcons.com/KateBlog/content/binary/dsv%20by%20stl.jpg" border="0" /><br /><br />
   Oh yes, this is a fun talk. I wish I had a recording, but the slides alone are entertaining
   and useful. I am already planning to put some of this code into practice, and I must
   find time to check the other talks, too. The links are in John's blog post.<br /><br />
   Kate<br /><img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=32efb161-7df8-49af-91a8-ed9b2b02b428" /></body>
      <title>A must read for C++ devs</title>
      <guid>http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=32efb161-7df8-49af-91a8-ed9b2b02b428</guid>
      <link>http://www.gregcons.com/KateBlog/AMustReadForCDevs.aspx</link>
      <pubDate>Sun, 29 Aug 2010 21:43:29 GMT</pubDate>
      <description>I somehow missed this &lt;a href="http://www.wintellect.com/CS/blogs/jrobbins/archive/2010/05/16/writing-data-structure-visualizers-for-native-c-stl-code.aspx"&gt;John
Robbins blog post&lt;/a&gt; from back in May. He calls out an excellent presentation on
writing data structure visualizers presented at BoostCon 2010. Here's the title slide:&lt;br&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img src="http://www.gregcons.com/KateBlog/content/binary/dsv%20by%20stl.jpg" border="0"&gt;
&lt;br&gt;
&lt;br&gt;
Oh yes, this is a fun talk. I wish I had a recording, but the slides alone are entertaining
and useful. I am already planning to put some of this code into practice, and I must
find time to check the other talks, too. The links are in John's blog post.&lt;br&gt;
&lt;br&gt;
Kate&lt;br&gt;
&lt;img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=32efb161-7df8-49af-91a8-ed9b2b02b428" /&gt;</description>
      <comments>http://www.gregcons.com/KateBlog/CommentView.aspx?guid=32efb161-7df8-49af-91a8-ed9b2b02b428</comments>
      <category>C++;Seen and Recommended;Visual Studio 2010</category>
    </item>
    <item>
      <trackback:ping>http://www.gregcons.com/KateBlog/Trackback.aspx?guid=e34eddb2-23f2-4b1e-95b5-e27c70ae3647</trackback:ping>
      <pingback:server>http://www.gregcons.com/KateBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=e34eddb2-23f2-4b1e-95b5-e27c70ae3647</pingback:target>
      <dc:creator>kate@gregcons.com (Kate Gregory)</dc:creator>
      <wfw:comment>http://www.gregcons.com/KateBlog/CommentView.aspx?guid=e34eddb2-23f2-4b1e-95b5-e27c70ae3647</wfw:comment>
      <wfw:commentRss>http://www.gregcons.com/KateBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=e34eddb2-23f2-4b1e-95b5-e27c70ae3647</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">As a new school year starts to roll around
   I naturally pay a little more attention to articles about undergraduate education.
   I'm once again teaching a one-term course on Object Oriented Design and UML at Trent
   University in Peterborough. This is of course just one piece of the curriculum. Trent
   is an interdisciplinary place and its graduates are expected to understand the concepts
   that underpin what they're learning. In fact this is what I see as the main difference
   between those with a university education and those without (though there are exceptions
   on both sides.) It's one thing to learn, perhaps by rote, the steps required to make
   a certain kind of application, and it's another to understand what you are doing and
   why. The latter kind of person generally finds it easier and easier to learn new things,
   connecting them to things already known, while the former finds it harder and harder
   as a mass of seemingly-unconnected facts moil around in an overly-crammed head that
   feels ready to explode.<br /><br />
   I approve of valuing concepts over specific how-to's. It's hard work keeping up with
   the very latest technology when all you're doing is using it. It's even harder when
   you're also working on concepts and trying to teach. I don't expect a university to
   teach students how to use a specific user interface framework (MFC, Winforms, WPF,
   whatever) -- I expect it to teach them user interface concepts, illustrated with some
   framework the prof happens to know that's generally available. The students can then
   learn a variety of UI frameworks over their careers. But that doesn't mean I approve
   of all the ways in which programming as part of undergraduate education varies from
   programming in real life. Two specific variations I have a problem with are team size
   and problem size.<br /><br />
   In real life, it's rare to work all alone, all the more so when you've only just graduated.
   Most university computer science grads will join a team of 2-10 developers reporting
   to a lead of some sort, with various people from QA, user reps, the business people
   and so on having various positions of semi-authority, semi-teammate in relation to
   them. Yet undergrads are generally expected to work alone on all projects and never
   discuss them with anyone until handing them in. 
   <br /><br />
   In real life, problems are not well specified, certainly not as tightly as undergrad
   assignments are. Most importantly, in real life user input is bizarrely ill formed.
   Users type letters where numbers belong, leave mandatory fields blank, even deliberately
   construct complicated bad input as part of hacking attempts. Yet most undergrad assignments
   do little or no input validation or error handling unless those are the point of the
   assignment. And of course, most undergrad assignments can be completed by an inexperienced
   programmer working alone a few hours a week (10 at most) in a week or two while most
   real problems take weeks and months of work by one or more dedicated resources to
   produce even a preliminary solution.<br /><br />
   Trent (and I presume most other universities) addresses these issues with a fourth
   year course in which a team of students works on a real problem for an outside entity
   - usually a local firm or charity. They must gather requirements, code, test and implement
   a solution, and present to their peers and professors a summary of the project. Some
   students benefit immensely from this, though most take on far too big a challenge
   and struggle to complete it.<br /><br />
   My contribution is to point out to my students where things are being simplified for
   them, where things would be vastly different in real life. Undergraduate courses simply
   cannot be the same as on the job training, and I don't want them to be. I want my
   students to be learning concepts and underpinnings as much as language syntax and
   how to work particular tools. But I want them to understand that when they start to
   put all this to use, things will feel very different than they did during class time.
   An assignment from your boss and an assignment from me are very different. (I've blogged
   before that in real life, <a href="http://www.gregcons.com/KateBlog/No710ForYou.aspx">you
   don't get 7/10</a>, you have to keep doing it until it is right.)<br /><br />
   I don't have all the answers. Lots of people muse about this stuff. <a href="http://cacm.acm.org/magazines/2010/1/55760-what-should-we-teach-new-software-developers-why/fulltext">Here's
   the inventor of C++ on the same issues</a>. Easy to complain, hard to do anything
   about it, but we can all do our bit.<br /><br />
   Kate<br /><p></p><img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=e34eddb2-23f2-4b1e-95b5-e27c70ae3647" /></body>
      <title>Teaching undergrads</title>
      <guid>http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=e34eddb2-23f2-4b1e-95b5-e27c70ae3647</guid>
      <link>http://www.gregcons.com/KateBlog/TeachingUndergrads.aspx</link>
      <pubDate>Fri, 27 Aug 2010 20:45:29 GMT</pubDate>
      <description>As a new school year starts to roll around I naturally pay a little more attention to articles about undergraduate education. I'm once again teaching a one-term course on Object Oriented Design and UML at Trent University in Peterborough. This is of course just one piece of the curriculum. Trent is an interdisciplinary place and its graduates are expected to understand the concepts that underpin what they're learning. In fact this is what I see as the main difference between those with a university education and those without (though there are exceptions on both sides.) It's one thing to learn, perhaps by rote, the steps required to make a certain kind of application, and it's another to understand what you are doing and why. The latter kind of person generally finds it easier and easier to learn new things, connecting them to things already known, while the former finds it harder and harder as a mass of seemingly-unconnected facts moil around in an overly-crammed head that feels ready to explode.&lt;br&gt;
&lt;br&gt;
I approve of valuing concepts over specific how-to's. It's hard work keeping up with
the very latest technology when all you're doing is using it. It's even harder when
you're also working on concepts and trying to teach. I don't expect a university to
teach students how to use a specific user interface framework (MFC, Winforms, WPF,
whatever) -- I expect it to teach them user interface concepts, illustrated with some
framework the prof happens to know that's generally available. The students can then
learn a variety of UI frameworks over their careers. But that doesn't mean I approve
of all the ways in which programming as part of undergraduate education varies from
programming in real life. Two specific variations I have a problem with are team size
and problem size.&lt;br&gt;
&lt;br&gt;
In real life, it's rare to work all alone, all the more so when you've only just graduated.
Most university computer science grads will join a team of 2-10 developers reporting
to a lead of some sort, with various people from QA, user reps, the business people
and so on having various positions of semi-authority, semi-teammate in relation to
them. Yet undergrads are generally expected to work alone on all projects and never
discuss them with anyone until handing them in. 
&lt;br&gt;
&lt;br&gt;
In real life, problems are not well specified, certainly not as tightly as undergrad
assignments are. Most importantly, in real life user input is bizarrely ill formed.
Users type letters where numbers belong, leave mandatory fields blank, even deliberately
construct complicated bad input as part of hacking attempts. Yet most undergrad assignments
do little or no input validation or error handling unless those are the point of the
assignment. And of course, most undergrad assignments can be completed by an inexperienced
programmer working alone a few hours a week (10 at most) in a week or two while most
real problems take weeks and months of work by one or more dedicated resources to
produce even a preliminary solution.&lt;br&gt;
&lt;br&gt;
Trent (and I presume most other universities) addresses these issues with a fourth
year course in which a team of students works on a real problem for an outside entity
- usually a local firm or charity. They must gather requirements, code, test and implement
a solution, and present to their peers and professors a summary of the project. Some
students benefit immensely from this, though most take on far too big a challenge
and struggle to complete it.&lt;br&gt;
&lt;br&gt;
My contribution is to point out to my students where things are being simplified for
them, where things would be vastly different in real life. Undergraduate courses simply
cannot be the same as on the job training, and I don't want them to be. I want my
students to be learning concepts and underpinnings as much as language syntax and
how to work particular tools. But I want them to understand that when they start to
put all this to use, things will feel very different than they did during class time.
An assignment from your boss and an assignment from me are very different. (I've blogged
before that in real life, &lt;a href="http://www.gregcons.com/KateBlog/No710ForYou.aspx"&gt;you
don't get 7/10&lt;/a&gt;, you have to keep doing it until it is right.)&lt;br&gt;
&lt;br&gt;
I don't have all the answers. Lots of people muse about this stuff. &lt;a href="http://cacm.acm.org/magazines/2010/1/55760-what-should-we-teach-new-software-developers-why/fulltext"&gt;Here's
the inventor of C++ on the same issues&lt;/a&gt;. Easy to complain, hard to do anything
about it, but we can all do our bit.&lt;br&gt;
&lt;br&gt;
Kate&lt;br&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=e34eddb2-23f2-4b1e-95b5-e27c70ae3647" /&gt;</description>
      <comments>http://www.gregcons.com/KateBlog/CommentView.aspx?guid=e34eddb2-23f2-4b1e-95b5-e27c70ae3647</comments>
      <category>Consulting Life;Mentoring;Seen and Recommended</category>
    </item>
    <item>
      <trackback:ping>http://www.gregcons.com/KateBlog/Trackback.aspx?guid=27a39177-1d65-4ded-90fb-31828072b26a</trackback:ping>
      <pingback:server>http://www.gregcons.com/KateBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=27a39177-1d65-4ded-90fb-31828072b26a</pingback:target>
      <dc:creator>kate@gregcons.com (Kate Gregory)</dc:creator>
      <wfw:comment>http://www.gregcons.com/KateBlog/CommentView.aspx?guid=27a39177-1d65-4ded-90fb-31828072b26a</wfw:comment>
      <wfw:commentRss>http://www.gregcons.com/KateBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=27a39177-1d65-4ded-90fb-31828072b26a</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
      I <a href="http://www.gregcons.com/KateBlog/HelloHilo.aspx">mentioned </a>Hilo when
      it was first released. This is a cool project doing Windows 7 development in native
      C++ with no frameworks - not MFC, for example - so you can really see just how it
      is done. It's not just code, it's also a walkthrough of their design thoughts, and
      explanation of that code.
   </p>
        <p>
      The next application, Hilo Annotator, is ready. It features a ribbon, it uses the
      Windows Imaging Component, Direct2D, and so on. While you probably don't need an image
      annotator, you may find the code useful in your own applications. And remember, this
      is all native C++ code. 
      <br /></p>
        <p>
      Your best place to start is <a href="http://blogs.msdn.com/b/vcblog/archive/2010/08/23/hilo-update-introducing-hilo-annotator.aspx">the
      Visual C++ Team Blog entr</a>y about it. It's rich in links and has a nice screenshot
      too.
   </p>
        <p>
      Kate<br /></p>
        <img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=27a39177-1d65-4ded-90fb-31828072b26a" />
      </body>
      <title>Hilo Annotator</title>
      <guid>http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=27a39177-1d65-4ded-90fb-31828072b26a</guid>
      <link>http://www.gregcons.com/KateBlog/HiloAnnotator.aspx</link>
      <pubDate>Wed, 25 Aug 2010 19:38:57 GMT</pubDate>
      <description>&lt;p&gt;
   I &lt;a href="http://www.gregcons.com/KateBlog/HelloHilo.aspx"&gt;mentioned &lt;/a&gt;Hilo when
   it was first released. This is a cool project doing Windows 7 development in native
   C++ with no frameworks - not MFC, for example - so you can really see just how it
   is done. It's not just code, it's also a walkthrough of their design thoughts, and
   explanation of that code.
&lt;/p&gt;
&lt;p&gt;
   The next application, Hilo Annotator, is ready. It features a ribbon, it uses the
   Windows Imaging Component, Direct2D, and so on. While you probably don't need an image
   annotator, you may find the code useful in your own applications. And remember, this
   is all native C++ code. 
   &lt;br&gt;
&lt;/p&gt;
&lt;p&gt;
   Your best place to start is &lt;a href="http://blogs.msdn.com/b/vcblog/archive/2010/08/23/hilo-update-introducing-hilo-annotator.aspx"&gt;the
   Visual C++ Team Blog entr&lt;/a&gt;y about it. It's rich in links and has a nice screenshot
   too.
&lt;/p&gt;
&lt;p&gt;
   Kate&lt;br&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=27a39177-1d65-4ded-90fb-31828072b26a" /&gt;</description>
      <comments>http://www.gregcons.com/KateBlog/CommentView.aspx?guid=27a39177-1d65-4ded-90fb-31828072b26a</comments>
      <category>C++;Seen and Recommended;Windows 7</category>
    </item>
    <item>
      <trackback:ping>http://www.gregcons.com/KateBlog/Trackback.aspx?guid=f3738ef8-db43-4879-aeca-879c071b5a91</trackback:ping>
      <pingback:server>http://www.gregcons.com/KateBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=f3738ef8-db43-4879-aeca-879c071b5a91</pingback:target>
      <dc:creator>kate@gregcons.com (Kate Gregory)</dc:creator>
      <wfw:comment>http://www.gregcons.com/KateBlog/CommentView.aspx?guid=f3738ef8-db43-4879-aeca-879c071b5a91</wfw:comment>
      <wfw:commentRss>http://www.gregcons.com/KateBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=f3738ef8-db43-4879-aeca-879c071b5a91</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
      Have you ever heard of the All-in-One Framework? Well I hadn't. They've been around
      for about 18 months. Back in February, on their first anniversary, <a href="http://blogs.msdn.com/b/codefx/archive/2010/02/10/all-in-one-code-framework-celebrates-first-anniversary.aspx">they
      described themselves</a> like this:
   </p>
        <blockquote>
          <p>
      ...this initiative [has been] developed by the CodeFx Project Group to an "<a href="http://cfx.codeplex.com/" target="_blank" mce_href="http://cfx.codeplex.com">all-in-one
      code framework</a>" that includes more than 300 code samples, covers almost all Microsoft
      development technologies, ranks 18th among 13000 open source projects on <a href="http://www.codeplex.com/" mce_href="http://www.codeplex.com">CodePlex</a>,
      received numerous kudos from customers, proved its values in real support incidents,
      and created a lot of win-win opportunities within the corporation.
   </p>
        </blockquote>
        <p>
      It looks like the participants are all Microsoft employees and they're collecting
      pieces of code for any language and platform that can be used to solve real world
      problems. On the CodePlex site, they elaborate:
   </p>
        <blockquote>
          <p>
      Microsoft All-In-One Code Framework delineates the framework and skeleton of Microsoft
      development techniques through typical sample codes in three popular programming languages
      (Visual C#, VB.NET, Visual C++). Each sample is elaborately selected, composed, and
      documented to demonstrate one frequently-asked, tested or used coding scenario based
      on our support experience in MSDN newsgroups and forums. If you are a software developer,
      you can fill the skeleton with blood, muscle and soul. If you are a software tester
      or a support engineer like us, you may extend the sample codes a little to fit your
      specific test scenario or refer your customer to this project if the customer's question
      coincides with what we collected.
   </p>
        </blockquote>
        <p>
      For example, they've written <a href="http://blogs.msdn.com/b/codefx/archive/2010/05/02/invoke-native-c-dll-from-net-code.aspx">a
      summary </a>of the ways to call native C++ code from managed code. You can find the
      pieces elsewhere, but having them all together makes it easier for you to compare
      and contrast. They often <a href="http://blogs.msdn.com/b/codefx/">blog </a>additions
      as they are completed.<br /></p>
        <p>
      Now as you can imagine, a big team creating hundreds of samples needs some sort of
      vision and structure to keep things consistent. That's where the style guide comes
      in. And now you can <a href="http://1code.codeplex.com/releases/view/50431">download
      it from CodePlex</a>. It's an 87 page Word document that covers everything you might
      wonder about, for both native and managed code, including tabs-vs-spaces (no tabs,
      please), how much to comment (as I blogged <a href="http://www.gregcons.com/KateBlog/UsefulCodeComments.aspx">recently </a>and <a href="http://www.gregcons.com/KateBlog/CommentsThenAndNow.aspx">not
      so recently</a>), Hungarian Notation (use it in native code if you must, but it's
      a relic; do not use it in managed code), smart pointers (yes, but don't bring in all
      of ATL for them - I look forward to this section being updated for C++0x), the right
      way to implement IDisposable, and an especially nice section on Interop at the end.
   </p>
        <p>
      I don't care what language you work in - this is a document you should at least skim.
      It could settle some arguments at the office, improve your code, and spare you from
      some horrible bugs. <a href="http://1code.codeplex.com/releases/view/50431">Download
      it</a>, won't you?
   </p>
        <p>
      Kate<br /></p>
        <img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=f3738ef8-db43-4879-aeca-879c071b5a91" />
      </body>
      <title>Coding guidelines from the All-in-One Framework team</title>
      <guid>http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=f3738ef8-db43-4879-aeca-879c071b5a91</guid>
      <link>http://www.gregcons.com/KateBlog/CodingGuidelinesFromTheAllinOneFrameworkTeam.aspx</link>
      <pubDate>Mon, 23 Aug 2010 19:26:16 GMT</pubDate>
      <description>&lt;p&gt;
   Have you ever heard of the All-in-One Framework? Well I hadn't. They've been around
   for about 18 months. Back in February, on their first anniversary, &lt;a href="http://blogs.msdn.com/b/codefx/archive/2010/02/10/all-in-one-code-framework-celebrates-first-anniversary.aspx"&gt;they
   described themselves&lt;/a&gt; like this:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
   ...this initiative [has been] developed by the CodeFx Project Group to an "&lt;a href="http://cfx.codeplex.com/" target="_blank" mce_href="http://cfx.codeplex.com"&gt;all-in-one
   code framework&lt;/a&gt;" that includes more than 300 code samples, covers almost all Microsoft
   development technologies, ranks 18th among 13000 open source projects on &lt;a href="http://www.codeplex.com/" mce_href="http://www.codeplex.com"&gt;CodePlex&lt;/a&gt;,
   received numerous kudos from customers, proved its values in real support incidents,
   and created a lot of win-win opportunities within the corporation.
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;
   It looks like the participants are all Microsoft employees and they're collecting
   pieces of code for any language and platform that can be used to solve real world
   problems. On the CodePlex site, they elaborate:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
   Microsoft All-In-One Code Framework delineates the framework and skeleton of Microsoft
   development techniques through typical sample codes in three popular programming languages
   (Visual C#, VB.NET, Visual C++). Each sample is elaborately selected, composed, and
   documented to demonstrate one frequently-asked, tested or used coding scenario based
   on our support experience in MSDN newsgroups and forums. If you are a software developer,
   you can fill the skeleton with blood, muscle and soul. If you are a software tester
   or a support engineer like us, you may extend the sample codes a little to fit your
   specific test scenario or refer your customer to this project if the customer's question
   coincides with what we collected.
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;
   For example, they've written &lt;a href="http://blogs.msdn.com/b/codefx/archive/2010/05/02/invoke-native-c-dll-from-net-code.aspx"&gt;a
   summary &lt;/a&gt;of the ways to call native C++ code from managed code. You can find the
   pieces elsewhere, but having them all together makes it easier for you to compare
   and contrast. They often &lt;a href="http://blogs.msdn.com/b/codefx/"&gt;blog &lt;/a&gt;additions
   as they are completed.&lt;br&gt;
&lt;/p&gt;
&lt;p&gt;
   Now as you can imagine, a big team creating hundreds of samples needs some sort of
   vision and structure to keep things consistent. That's where the style guide comes
   in. And now you can &lt;a href="http://1code.codeplex.com/releases/view/50431"&gt;download
   it from CodePlex&lt;/a&gt;. It's an 87 page Word document that covers everything you might
   wonder about, for both native and managed code, including tabs-vs-spaces (no tabs,
   please), how much to comment (as I blogged &lt;a href="http://www.gregcons.com/KateBlog/UsefulCodeComments.aspx"&gt;recently &lt;/a&gt;and &lt;a href="http://www.gregcons.com/KateBlog/CommentsThenAndNow.aspx"&gt;not
   so recently&lt;/a&gt;), Hungarian Notation (use it in native code if you must, but it's
   a relic; do not use it in managed code), smart pointers (yes, but don't bring in all
   of ATL for them - I look forward to this section being updated for C++0x), the right
   way to implement IDisposable, and an especially nice section on Interop at the end.
&lt;/p&gt;
&lt;p&gt;
   I don't care what language you work in - this is a document you should at least skim.
   It could settle some arguments at the office, improve your code, and spare you from
   some horrible bugs. &lt;a href="http://1code.codeplex.com/releases/view/50431"&gt;Download
   it&lt;/a&gt;, won't you?
&lt;/p&gt;
&lt;p&gt;
   Kate&lt;br&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=f3738ef8-db43-4879-aeca-879c071b5a91" /&gt;</description>
      <comments>http://www.gregcons.com/KateBlog/CommentView.aspx?guid=f3738ef8-db43-4879-aeca-879c071b5a91</comments>
      <category>C++;Mentoring;Seen and Recommended</category>
    </item>
    <item>
      <trackback:ping>http://www.gregcons.com/KateBlog/Trackback.aspx?guid=3871216c-d569-4514-b554-9cadb9743b3e</trackback:ping>
      <pingback:server>http://www.gregcons.com/KateBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=3871216c-d569-4514-b554-9cadb9743b3e</pingback:target>
      <dc:creator>kate@gregcons.com (Kate Gregory)</dc:creator>
      <wfw:comment>http://www.gregcons.com/KateBlog/CommentView.aspx?guid=3871216c-d569-4514-b554-9cadb9743b3e</wfw:comment>
      <wfw:commentRss>http://www.gregcons.com/KateBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=3871216c-d569-4514-b554-9cadb9743b3e</wfw:commentRss>
      <title>Useful Code Comments</title>
      <guid>http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=3871216c-d569-4514-b554-9cadb9743b3e</guid>
      <link>http://www.gregcons.com/KateBlog/UsefulCodeComments.aspx</link>
      <pubDate>Sat, 21 Aug 2010 17:34:03 GMT</pubDate>
      <description>&lt;p&gt;
   Recently, I was shown this quote. The person who showed it (in a general talk, not
   to me personally and specifically) is a smart person I respect, so I'm going to leave
   that person un-named. The authors of the quote, Kernighan and Plauger, are legends
   of the field. In 1979 (the very same year I was first paid to program) they wrote:&lt;br&gt;
   &lt;br&gt;
&lt;blockquote&gt;1. If a program is incorrect, it matters little what the documentation
says.&lt;br&gt;
2. If documentation does not agree with the code, it is not worth much.&lt;br&gt;
3. Consequently, code must largely document itself. If it cannot, rewrite the code
rather than increase the supplementary documentation. Good code needs fewer comments
than bad code does.&lt;br&gt;
4. Comments should provide additional information that is not readily obtainable from
the code itself. They should never parrot the code.&lt;br&gt;
5. Mnemonic variable names and labels, and a layout that emphasizes logical structure,
help make a program self-documenting.&lt;br&gt;
&lt;/blockquote&gt;
&lt;br&gt;
In general, I agree with this. Point 5 is really strong. But when I watched that person
I respect walk through this quote I suddenly realized, for the first time in all the
times I've seen this, that 1 and 2 are wrong. Really. They're wrong.&lt;br&gt;
&lt;br&gt;
Imagine you came across this in a code review:&lt;br&gt;
&lt;pre&gt;// Process the first 5 elements&lt;br&gt;&lt;= 5; i++)&lt;br&gt;
for(i = 0; i {&lt;br&gt;
ProcessElement(i);&lt;br&gt;
}&lt;/pre&gt;
I hope it's clear that this code actually processes 6 elements. The program is almost
certainly incorrect. Perhaps the reason we're reviewing this part of the code is that
there is some sort of message in the event log or unprocessed records or incorrect
answers that have led us here, suspecting and hoping to find some incorrect code.
And look! A comment that disagrees with the code! It's like a giant arrow pointing
to the incorrect code. The documentation doesn't agree with the code, and that's great!
It makes it really likely that we've found the bug. This sort of thing happens all
the time - developers write the correct logic, as agreed in the requirements, into
a comment, but sometimes make mechanical errors in representing that logic in code.&lt;br&gt;
&lt;br&gt;
If a program is incorrect, comments that represent what the developer hoped or planned
or tried to write may be of great value in rendering the program correct (fixing the
bug.) If the documentation doesn't agree with the code, with any luck at least one
of them is correct.&lt;br&gt;
&lt;br&gt;
I still actually agree with the conclusions of the quote, and of those who quote it.
Good variable names and function names, well structured code, and written requirements
are all more helpful than comments inside the code, as &lt;a href="http://www.gregcons.com/KateBlog/CommentsThenAndNow.aspx"&gt;I've
written before&lt;/a&gt;. A true conclusion can follow from a false premise. Still, I was
initially shocked to find myself disagreeing with these premises, and I wanted to
share that insight. And don't feel bad if you leave "translating into English" comments
around from time to time. They may surprise you some day.&lt;br&gt;
&lt;br&gt;
Kate&gt;
&lt;img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=3871216c-d569-4514-b554-9cadb9743b3e" /&gt;</description>
      <comments>http://www.gregcons.com/KateBlog/CommentView.aspx?guid=3871216c-d569-4514-b554-9cadb9743b3e</comments>
      <category>Consulting Life</category>
    </item>
    <item>
      <trackback:ping>http://www.gregcons.com/KateBlog/Trackback.aspx?guid=d3740bf4-858b-425c-b319-b0e9268248a1</trackback:ping>
      <pingback:server>http://www.gregcons.com/KateBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=d3740bf4-858b-425c-b319-b0e9268248a1</pingback:target>
      <dc:creator>kate@gregcons.com (Kate Gregory)</dc:creator>
      <wfw:comment>http://www.gregcons.com/KateBlog/CommentView.aspx?guid=d3740bf4-858b-425c-b319-b0e9268248a1</wfw:comment>
      <wfw:commentRss>http://www.gregcons.com/KateBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=d3740bf4-858b-425c-b319-b0e9268248a1</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
      Telerik is having an Eastern Canada User Group Tour this fall. <a href="http://blogs.telerik.com/evanhutnick/posts/10-08-18/the_telerik_eastern_canada_user_group_tour_is_coming.aspx">Evan
      Hutnick</a> will visit 6 user groups to speak on Silverlight topics. Here are the
      details for the East of Toronto event:
   </p>
        <p>
      Monday, September 13, 2010 
   </p>
        <p>
      Silverlight Development Best Practices
   </p>
        <p>
      Speaker: Evan Hutnick
   </p>
        <p>
      Location: Whitby Public Library - Room 1B<br />
      405 Dundas Street West, Whitby, ON, L1N 6A1
   </p>
        <p>
      In this session, we will explore best practices of development with Silverlight. This
      will include a look at the current toolset (VS2010/Blend) as well as the different
      options for architecture and data access (to MVVM or not to MVVM, WCF RIA Services
      or not, etc.), as well as how you can structure your application for intelligent reuse
      of styles and resources, making it easier to design a large-scale application with
      a unified look and feel.
   </p>
        <p>
          <b>Agenda</b>
        </p>
        <p>
          <table style="border-color: black;" border="1" bordercolor="black" cellspacing="0" rules="all">
            <tbody>
              <tr style="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 - 9:00 
               </td>
                <td>
                  Presentation 
               </td>
              </tr>
            </tbody>
          </table>
        </p>
        <p>
      See you there!
   </p>
        <p>
      Kate
   </p>
        <img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=d3740bf4-858b-425c-b319-b0e9268248a1" />
      </body>
      <title>East of Toronto Sept 13th - Telerik comes to town</title>
      <guid>http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=d3740bf4-858b-425c-b319-b0e9268248a1</guid>
      <link>http://www.gregcons.com/KateBlog/EastOfTorontoSept13thTelerikComesToTown.aspx</link>
      <pubDate>Thu, 19 Aug 2010 15:06:59 GMT</pubDate>
      <description>&lt;p&gt;
   Telerik is having an Eastern Canada User Group Tour this fall. &lt;a href="http://blogs.telerik.com/evanhutnick/posts/10-08-18/the_telerik_eastern_canada_user_group_tour_is_coming.aspx"&gt;Evan
   Hutnick&lt;/a&gt; will visit 6 user groups to speak on Silverlight topics. Here are the
   details for the East of Toronto event:
&lt;/p&gt;
&lt;p&gt;
   Monday, September 13, 2010 
&lt;/p&gt;
&lt;p&gt;
   Silverlight Development Best Practices
&lt;/p&gt;
&lt;p&gt;
   Speaker: Evan Hutnick
&lt;/p&gt;
&lt;p&gt;
   Location: Whitby Public Library - Room 1B&lt;br&gt;
   405 Dundas Street West, Whitby, ON, L1N 6A1
&lt;/p&gt;
&lt;p&gt;
   In this session, we will explore best practices of development with Silverlight. This
   will include a look at the current toolset (VS2010/Blend) as well as the different
   options for architecture and data access (to MVVM or not to MVVM, WCF RIA Services
   or not, etc.), as well as how you can structure your application for intelligent reuse
   of styles and resources, making it easier to design a large-scale application with
   a unified look and feel.
&lt;/p&gt;
&lt;p&gt;
   &lt;b&gt;Agenda&lt;/b&gt; 
&lt;/p&gt;
&lt;p&gt;
   &lt;table style="border-color: black;" border="1" bordercolor="black" cellspacing="0" rules="all"&gt;
      &lt;tbody&gt;
         &lt;tr style="background-color: gainsboro;"&gt;
            &lt;td&gt;
               Time&lt;/td&gt;
            &lt;td&gt;
               Title 
            &lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr&gt;
            &lt;td&gt;
               6:30 - 7:00 
            &lt;/td&gt;
            &lt;td&gt;
               Socialize and refreshments 
            &lt;/td&gt;
         &lt;/tr&gt;
         &lt;tr&gt;
            &lt;td&gt;
               7:00 - 9:00 
            &lt;/td&gt;
            &lt;td&gt;
               Presentation 
            &lt;/td&gt;
         &lt;/tr&gt;
      &lt;/tbody&gt;
   &lt;/table&gt;
&lt;/p&gt;
&lt;p&gt;
   See you there!
&lt;/p&gt;
&lt;p&gt;
   Kate
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=d3740bf4-858b-425c-b319-b0e9268248a1" /&gt;</description>
      <comments>http://www.gregcons.com/KateBlog/CommentView.aspx?guid=d3740bf4-858b-425c-b319-b0e9268248a1</comments>
      <category>INETA;Seen and Recommended</category>
    </item>
    <item>
      <trackback:ping>http://www.gregcons.com/KateBlog/Trackback.aspx?guid=0536861c-c589-4ce3-82a1-adde93eaffcb</trackback:ping>
      <pingback:server>http://www.gregcons.com/KateBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=0536861c-c589-4ce3-82a1-adde93eaffcb</pingback:target>
      <dc:creator>kate@gregcons.com (Kate Gregory)</dc:creator>
      <wfw:comment>http://www.gregcons.com/KateBlog/CommentView.aspx?guid=0536861c-c589-4ce3-82a1-adde93eaffcb</wfw:comment>
      <wfw:commentRss>http://www.gregcons.com/KateBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=0536861c-c589-4ce3-82a1-adde93eaffcb</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">This is a <a href="http://www.nucalc.com/Story/">story </a>you
   might find hard to believe. A guy's project is cancelled and he's laid off, but he
   just shows up to his building (without being paid) and keeps working on it. He gets
   other people to help him and the product actually ships! One of my favourite quotes:<br /><br /><blockquote>"The secret to programming is not intelligence, though of course that
   helps. It is not hard work or experience, though they help, too. The secret to programming
   is having smart friends."<br /></blockquote><br />
   Could this happen today? Almost certainly not. It probably couldn't even happen in
   another company. Remember the start of all this wasn't the support from former coworkers
   - that only happened once the product was almost done and the glamour of working unpaid
   on a feature caught on. The start of this was that a laid-off guy's badge still worked,
   and then when it finally stopped working he was able to tailgate through the doors
   every morning. Which leads to my second favourite quote:<br /><br /><blockquote>"We wanted to release a Windows version as part of Windows 98, but sadly,
   Microsoft has effective building security."<br /></blockquote><br />
   A fun read and a reminder of how some people felt (and still feel) about creating
   software.<br /><br />
   Kate<br /><p></p><img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=0536861c-c589-4ce3-82a1-adde93eaffcb" /></body>
      <title>Now that's motivation!</title>
      <guid>http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=0536861c-c589-4ce3-82a1-adde93eaffcb</guid>
      <link>http://www.gregcons.com/KateBlog/NowThatsMotivation.aspx</link>
      <pubDate>Tue, 17 Aug 2010 14:46:52 GMT</pubDate>
      <description>This is a &lt;a href="http://www.nucalc.com/Story/"&gt;story &lt;/a&gt;you might find hard to
believe. A guy's project is cancelled and he's laid off, but he just shows up to his
building (without being paid) and keeps working on it. He gets other people to help
him and the product actually ships! One of my favourite quotes:&lt;br&gt;
&lt;br&gt;
&lt;blockquote&gt;"The secret to programming is not intelligence, though of course that
helps. It is not hard work or experience, though they help, too. The secret to programming
is having smart friends."&lt;br&gt;
&lt;/blockquote&gt;
&lt;br&gt;
Could this happen today? Almost certainly not. It probably couldn't even happen in
another company. Remember the start of all this wasn't the support from former coworkers
- that only happened once the product was almost done and the glamour of working unpaid
on a feature caught on. The start of this was that a laid-off guy's badge still worked,
and then when it finally stopped working he was able to tailgate through the doors
every morning. Which leads to my second favourite quote:&lt;br&gt;
&lt;br&gt;
&lt;blockquote&gt;"We wanted to release a Windows version as part of Windows 98, but sadly,
Microsoft has effective building security."&lt;br&gt;
&lt;/blockquote&gt;
&lt;br&gt;
A fun read and a reminder of how some people felt (and still feel) about creating
software.&lt;br&gt;
&lt;br&gt;
Kate&lt;br&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=0536861c-c589-4ce3-82a1-adde93eaffcb" /&gt;</description>
      <comments>http://www.gregcons.com/KateBlog/CommentView.aspx?guid=0536861c-c589-4ce3-82a1-adde93eaffcb</comments>
      <category>Consulting Life;Seen and Recommended</category>
    </item>
    <item>
      <trackback:ping>http://www.gregcons.com/KateBlog/Trackback.aspx?guid=3aed3cef-772e-4c80-ba89-d8863c5dbd57</trackback:ping>
      <pingback:server>http://www.gregcons.com/KateBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=3aed3cef-772e-4c80-ba89-d8863c5dbd57</pingback:target>
      <dc:creator>kate@gregcons.com (Kate Gregory)</dc:creator>
      <wfw:comment>http://www.gregcons.com/KateBlog/CommentView.aspx?guid=3aed3cef-772e-4c80-ba89-d8863c5dbd57</wfw:comment>
      <wfw:commentRss>http://www.gregcons.com/KateBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=3aed3cef-772e-4c80-ba89-d8863c5dbd57</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">I'm collecting link on Windows Phone 7
   topics and now is as good a time as any to blog some of them:<br /><ul><li><a href="http://blogs.msdn.com/b/cdndevs/archive/2010/07/28/whats_2d00_happening_2d00_with_2d00_windows_2d00_phone_2d00_7.aspx">Joey's
         roundup</a> from two weeks ago, with pictures and links to dev tools, plus details
         on the two day cross-Canada <a href="http://www.devteach.com/SpecialEvent.aspx">Bootcamp </a>DevTeach
         is running to get you great fast.</li><li><a href="http://blog.jayway.com/2010/05/27/windows-phone-7-series-paper-prototype/">Windows
         Phone 7 paper prototype </a>- to supplement your emulator experience.</li><li><a href="http://www.charlespetzold.com/phone/index.html">Charles Petzold </a>has an
         e-preview of his book available online.</li><li>
         Colin Melia, who is part of the above-mentioned bootcamp, came to <a href="http://www.dnrtv.com/default.aspx?showNum=172">DotNetRocks
         TV </a>as well.</li></ul>
   Plenty of material no matter how you prefer to learn. Why not get started?<br /><br />
   Kate<br /><p></p><img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=3aed3cef-772e-4c80-ba89-d8863c5dbd57" /></body>
      <title>Some Windows Phone 7 resources</title>
      <guid>http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=3aed3cef-772e-4c80-ba89-d8863c5dbd57</guid>
      <link>http://www.gregcons.com/KateBlog/SomeWindowsPhone7Resources.aspx</link>
      <pubDate>Sun, 15 Aug 2010 14:01:48 GMT</pubDate>
      <description>I'm collecting link on Windows Phone 7 topics and now is as good a time as any to blog some of them:&lt;br&gt;
&lt;ul&gt;
   &lt;li&gt;
      &lt;a href="http://blogs.msdn.com/b/cdndevs/archive/2010/07/28/whats_2d00_happening_2d00_with_2d00_windows_2d00_phone_2d00_7.aspx"&gt;Joey's
      roundup&lt;/a&gt; from two weeks ago, with pictures and links to dev tools, plus details
      on the two day cross-Canada &lt;a href="http://www.devteach.com/SpecialEvent.aspx"&gt;Bootcamp &lt;/a&gt;DevTeach
      is running to get you great fast.&lt;/li&gt;
   &lt;li&gt;
      &lt;a href="http://blog.jayway.com/2010/05/27/windows-phone-7-series-paper-prototype/"&gt;Windows
      Phone 7 paper prototype &lt;/a&gt;- to supplement your emulator experience.&lt;/li&gt;
   &lt;li&gt;
      &lt;a href="http://www.charlespetzold.com/phone/index.html"&gt;Charles Petzold &lt;/a&gt;has an
      e-preview of his book available online.&lt;/li&gt;
   &lt;li&gt;
      Colin Melia, who is part of the above-mentioned bootcamp, came to &lt;a href="http://www.dnrtv.com/default.aspx?showNum=172"&gt;DotNetRocks
      TV &lt;/a&gt;as well.&lt;/li&gt;
&lt;/ul&gt;
Plenty of material no matter how you prefer to learn. Why not get started?&lt;br&gt;
&lt;br&gt;
Kate&lt;br&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=3aed3cef-772e-4c80-ba89-d8863c5dbd57" /&gt;</description>
      <comments>http://www.gregcons.com/KateBlog/CommentView.aspx?guid=3aed3cef-772e-4c80-ba89-d8863c5dbd57</comments>
      <category>Canadian Colour;Client Development;Seen and Recommended</category>
    </item>
    <item>
      <trackback:ping>http://www.gregcons.com/KateBlog/Trackback.aspx?guid=642bb606-83cd-4f0d-898c-6a6bb76fa09d</trackback:ping>
      <pingback:server>http://www.gregcons.com/KateBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=642bb606-83cd-4f0d-898c-6a6bb76fa09d</pingback:target>
      <dc:creator>kate@gregcons.com (Kate Gregory)</dc:creator>
      <wfw:comment>http://www.gregcons.com/KateBlog/CommentView.aspx?guid=642bb606-83cd-4f0d-898c-6a6bb76fa09d</wfw:comment>
      <wfw:commentRss>http://www.gregcons.com/KateBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=642bb606-83cd-4f0d-898c-6a6bb76fa09d</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">I'm curious about Windows Phone 7, and
   I've been playing around a bit with the development tools. So when I read that Joey
   deVilla was holding another of his semi-regular Coffee and Code sessions in downtown
   Toronto, and bringing his phone, I made the last minute decision to pop down there
   and join them. I'm really glad I did.<br /><br />
   A steady stream of people stopped by, mostly just to look at the phone, but a few
   to deploy their code onto it and see it in live action. There were technical conversations,
   and some less technical, and a general good time. <a href="http://blogs.msdn.com/b/cdndevs/archive/2010/08/13/windows_2d00_phone_2d00_coffee_2d00_and_2d00_code.aspx">Joey's
   blogged about it</a> (with pictures) and is looking for folks who think these would
   be fun where they live. Let him know if you would participate.<br /><br />
   Kate<br /><p></p><img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=642bb606-83cd-4f0d-898c-6a6bb76fa09d" /></body>
      <title>Toronto Coffee and Code - that was fun!</title>
      <guid>http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=642bb606-83cd-4f0d-898c-6a6bb76fa09d</guid>
      <link>http://www.gregcons.com/KateBlog/TorontoCoffeeAndCodeThatWasFun.aspx</link>
      <pubDate>Fri, 13 Aug 2010 13:45:11 GMT</pubDate>
      <description>I'm curious about Windows Phone 7, and I've been playing around a bit with the development tools. So when I read that Joey deVilla was holding another of his semi-regular Coffee and Code sessions in downtown Toronto, and bringing his phone, I made the last minute decision to pop down there and join them. I'm really glad I did.&lt;br&gt;
&lt;br&gt;
A steady stream of people stopped by, mostly just to look at the phone, but a few
to deploy their code onto it and see it in live action. There were technical conversations,
and some less technical, and a general good time. &lt;a href="http://blogs.msdn.com/b/cdndevs/archive/2010/08/13/windows_2d00_phone_2d00_coffee_2d00_and_2d00_code.aspx"&gt;Joey's
blogged about it&lt;/a&gt; (with pictures) and is looking for folks who think these would
be fun where they live. Let him know if you would participate.&lt;br&gt;
&lt;br&gt;
Kate&lt;br&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=642bb606-83cd-4f0d-898c-6a6bb76fa09d" /&gt;</description>
      <comments>http://www.gregcons.com/KateBlog/CommentView.aspx?guid=642bb606-83cd-4f0d-898c-6a6bb76fa09d</comments>
      <category>Client Development;Consulting Life;Seen and Recommended</category>
    </item>
  </channel>
</rss>