<?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:dc="http://purl.org/dc/elements/1.1/" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" version="2.0">
  <channel>
    <title>Kate Gregory's Blog - C++</title>
    <link>http://www.gregcons.com/KateBlog/</link>
    <description>Really Good Donut</description>
    <language>en-us</language>
    <copyright>Kate Gregory</copyright>
    <lastBuildDate>Mon, 30 Sep 2024 18:54:39 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 2.3.9074.18820</generator>
    <managingEditor>kate@gregcons.com</managingEditor>
    <webMaster>kate@gregcons.com</webMaster>
    <item>
      <trackback:ping>http://www.gregcons.com/KateBlog/Trackback.aspx?guid=ff1a45ef-28fe-469c-8da4-929425cfb622</trackback:ping>
      <pingback:server>http://www.gregcons.com/KateBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=ff1a45ef-28fe-469c-8da4-929425cfb622</pingback:target>
      <dc:creator>Kate Gregory</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
It's been 7 years since I was at <a href="https://meetingcpp.com/2024/">Meeting C++</a> and
I'm really looking forward to it. There are great keynotes planned and the <a href="https://meetingcpp.com/2024/Schedule.html">schedule</a> as
a whole is full of talks I want to hear! I'm doing <a href="https://meetingcpp.com/2024/Talks/items/The_Aging_Programmer.html">The
Aging Programmer</a> and hope it lands as well in Berlin as it has elsewhere. As always,
I find it hard to believe there are too many C++ conferences for me to be at all of
them, and I'm making an effort to try to mix things up from year to year and not just
go to "the usual places" every time. It's good to see some speakers I haven't seen
for a while, and be introduced to ideas I haven't been following.
</p>
        <p>
There's still time to get your tickets! I hope to see you there.
</p>
        <p>
Kate<br /></p>
        <img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=ff1a45ef-28fe-469c-8da4-929425cfb622" />
      </body>
      <title>Speaking at Meeting C++</title>
      <guid isPermaLink="false">http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=ff1a45ef-28fe-469c-8da4-929425cfb622</guid>
      <link>http://www.gregcons.com/KateBlog/SpeakingAtMeetingC.aspx</link>
      <pubDate>Mon, 30 Sep 2024 18:54:39 GMT</pubDate>
      <description>&lt;p&gt;
It's been 7 years since I was at &lt;a href="https://meetingcpp.com/2024/"&gt;Meeting C++&lt;/a&gt; and
I'm really looking forward to it. There are great keynotes planned and the &lt;a href="https://meetingcpp.com/2024/Schedule.html"&gt;schedule&lt;/a&gt; as
a whole is full of talks I want to hear! I'm doing &lt;a href="https://meetingcpp.com/2024/Talks/items/The_Aging_Programmer.html"&gt;The
Aging Programmer&lt;/a&gt; and hope it lands as well in Berlin as it has elsewhere. As always,
I find it hard to believe there are too many C++ conferences for me to be at all of
them, and I'm making an effort to try to mix things up from year to year and not just
go to "the usual places" every time. It's good to see some speakers I haven't seen
for a while, and be introduced to ideas I haven't been following.
&lt;/p&gt;
&lt;p&gt;
There's still time to get your tickets! I hope to see you there.
&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=ff1a45ef-28fe-469c-8da4-929425cfb622" /&gt;</description>
      <category>C++</category>
      <category>Consulting Life</category>
      <category>Seen and Recommended</category>
      <category>Speaking</category>
      <category>Travel</category>
    </item>
    <item>
      <trackback:ping>http://www.gregcons.com/KateBlog/Trackback.aspx?guid=ca1a7ef1-c4e1-4dba-b293-a5ccaf07ce1c</trackback:ping>
      <pingback:server>http://www.gregcons.com/KateBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=ca1a7ef1-c4e1-4dba-b293-a5ccaf07ce1c</pingback:target>
      <dc:creator>Kate Gregory</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Tomorrow I head to Norway for NDC Techtown. And now I'll be doing two talks there!
I'm adding <a href="https://ndctechtown.com/agenda/naming-is-hard-let-s-do-better/a3e5721a45d9">Naming
is Hard</a> to my scheduled <a href="https://ndctechtown.com/agenda/the-aging-programmer-0hbv/0ijumjrizso">Aging
Programmer</a>. There probably isn't time for you to register and travel there, but
if you'll be there, plan to see both my talks!
</p>
        <p>
Kate
</p>
        <img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=ca1a7ef1-c4e1-4dba-b293-a5ccaf07ce1c" />
      </body>
      <title>Adding a talk at NDC Techtown</title>
      <guid isPermaLink="false">http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=ca1a7ef1-c4e1-4dba-b293-a5ccaf07ce1c</guid>
      <link>http://www.gregcons.com/KateBlog/AddingATalkAtNDCTechtown.aspx</link>
      <pubDate>Sun, 08 Sep 2024 17:36:32 GMT</pubDate>
      <description>&lt;p&gt;
Tomorrow I head to Norway for NDC Techtown. And now I'll be doing two talks there!
I'm adding &lt;a href="https://ndctechtown.com/agenda/naming-is-hard-let-s-do-better/a3e5721a45d9"&gt;Naming
is Hard&lt;/a&gt; to my scheduled &lt;a href="https://ndctechtown.com/agenda/the-aging-programmer-0hbv/0ijumjrizso"&gt;Aging
Programmer&lt;/a&gt;. There probably isn't time for you to register and travel there, but
if you'll be there, plan to see both my talks!
&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=ca1a7ef1-c4e1-4dba-b293-a5ccaf07ce1c" /&gt;</description>
      <category>C++</category>
      <category>Speaking</category>
    </item>
    <item>
      <trackback:ping>http://www.gregcons.com/KateBlog/Trackback.aspx?guid=ec821310-05f4-4980-ba29-44aff4b337f5</trackback:ping>
      <pingback:server>http://www.gregcons.com/KateBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=ec821310-05f4-4980-ba29-44aff4b337f5</pingback:target>
      <dc:creator>Kate Gregory</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
We work on the conference for a year, maybe more than a year, because we start thinking
about "next year" before we've even had this year. Then it starts, and it's wonderful,
and suddenly it's the last day.
</p>
        <p>
          <img border="0" src="http://www.gregcons.com/KateBlog/content/binary/20240724_090812 resized.jpg" />
        </p>
        <p>
We kicked off the day with a wonderful keynote by April Wensel about compassion and
how bringing warmth and caring into your software development practices makes better
code, not just happier people. Then I went to Tina Ulbrich's Throwing Tools at Ranges
which had a lot of numbers and data for those who worry ranges bring performance issues.
</p>
        <p>
A CppNorth tradition is that we don't provide lunch every single day, wanting to send
attendees out into Toronto to experience the downtown neighbourhood. Day 3 was the
"go out" day for lunch and from what I heard in the afternoon, people liked it, as
they have other years. After lunch I went to Where There Is A Loop There is an Algorithm
by Peter Lorimer and Fatemeh Jafargholi. I really liked how Fatemeh connected something
I said about memorable catchphrases like "better safe than sorry" to algorithms and
their names. 
</p>
        <p>
Then another Conor Hoekstra "so many languages" talk, Composition Intuition II. It
was a careening ride between "heh, I can actually follow this, that is kind of neat"
and "what?!?". Conor takes some of the mystery out of jargon words you hear other
people use and helps to bring concepts from esoteric languages ("this one was written
for winning code golf challenges") into our regular lives.
</p>
        <p>
Then came perhaps the most anticipated break of the conference: The Canadian Snacks
Break!
</p>
        <p>
          <img border="0" width="600" src="http://www.gregcons.com/KateBlog/content/binary/20240724_155021.jpg" />
        </p>
        <p>
          <img border="0" width="600" src="http://www.gregcons.com/KateBlog/content/binary/20240724_155034.jpg" />
        </p>
        <p>
Butter tarts, nanaimo bars, maple cookies, and little bags of Hickory Sticks! You
won't forget where you are at this conference!
</p>
        <p>
We wrapped up with a keynote from Tony Van Eerd that appeared for a while to have
only one slide (but actually had 86) and a lot of philosophy and thinking. To do a
good job of abstraction, you need to think about what a thing is, and what the properties
of a thing are, and Tony led us through that very skilfully. Definitely one to chew
on on the way home.
</p>
        <p>
And with that I was on the way home. Into the GO station that literally connects to
the Microsoft building:
</p>
        <p>
          <img border="0" width="600" src="http://www.gregcons.com/KateBlog/content/binary/20240724_182530.jpg" />
        </p>
        <p>
And on the train, with one well-timed selfie-with-the-venue:
</p>
        <p>
          <img border="0" width="600" src="http://www.gregcons.com/KateBlog/content/binary/20240724_185058.jpg" />
        </p>
        <p>
See you all next year! You can even <a href="https://store.cppnorth.ca/">buy your
tickets right now</a> for a huge discount to use this year's budget, if you like!
</p>
        <p>
Kate
</p>
        <img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=ec821310-05f4-4980-ba29-44aff4b337f5" />
      </body>
      <title>CppNorth Day 3</title>
      <guid isPermaLink="false">http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=ec821310-05f4-4980-ba29-44aff4b337f5</guid>
      <link>http://www.gregcons.com/KateBlog/CppNorthDay3.aspx</link>
      <pubDate>Fri, 26 Jul 2024 11:58:57 GMT</pubDate>
      <description>&lt;p&gt;
We work on the conference for a year, maybe more than a year, because we start thinking
about "next year" before we've even had this year. Then it starts, and it's wonderful,
and suddenly it's the last day.
&lt;/p&gt;
&lt;p&gt;
&lt;img border="0" src="http://www.gregcons.com/KateBlog/content/binary/20240724_090812 resized.jpg"&gt;
&lt;/p&gt;
&lt;p&gt;
We kicked off the day with a wonderful keynote by April Wensel about compassion and
how bringing warmth and caring into your software development practices makes better
code, not just happier people. Then I went to Tina Ulbrich's Throwing Tools at Ranges
which had a lot of numbers and data for those who worry ranges bring performance issues.
&lt;/p&gt;
&lt;p&gt;
A CppNorth tradition is that we don't provide lunch every single day, wanting to send
attendees out into Toronto to experience the downtown neighbourhood. Day 3 was the
"go out" day for lunch and from what I heard in the afternoon, people liked it, as
they have other years. After lunch I went to Where There Is A Loop There is an Algorithm
by Peter Lorimer and Fatemeh Jafargholi. I really liked how Fatemeh connected something
I said about memorable catchphrases like "better safe than sorry" to algorithms and
their names. 
&lt;/p&gt;
&lt;p&gt;
Then another Conor Hoekstra "so many languages" talk, Composition Intuition II. It
was a careening ride between "heh, I can actually follow this, that is kind of neat"
and "what?!?". Conor takes some of the mystery out of jargon words you hear other
people use and helps to bring concepts from esoteric languages ("this one was written
for winning code golf challenges") into our regular lives.
&lt;/p&gt;
&lt;p&gt;
Then came perhaps the most anticipated break of the conference: The Canadian Snacks
Break!
&lt;/p&gt;
&lt;p&gt;
&lt;img border="0" width="600" src="http://www.gregcons.com/KateBlog/content/binary/20240724_155021.jpg"&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;img border="0" width="600" src="http://www.gregcons.com/KateBlog/content/binary/20240724_155034.jpg"&gt;
&lt;/p&gt;
&lt;p&gt;
Butter tarts, nanaimo bars, maple cookies, and little bags of Hickory Sticks! You
won't forget where you are at this conference!
&lt;/p&gt;
&lt;p&gt;
We wrapped up with a keynote from Tony Van Eerd that appeared for a while to have
only one slide (but actually had 86) and a lot of philosophy and thinking. To do a
good job of abstraction, you need to think about what a thing is, and what the properties
of a thing are, and Tony led us through that very skilfully. Definitely one to chew
on on the way home.
&lt;/p&gt;
&lt;p&gt;
And with that I was on the way home. Into the GO station that literally connects to
the Microsoft building:
&lt;/p&gt;
&lt;p&gt;
&lt;img border="0" width="600" src="http://www.gregcons.com/KateBlog/content/binary/20240724_182530.jpg"&gt;
&lt;/p&gt;
&lt;p&gt;
And on the train, with one well-timed selfie-with-the-venue:
&lt;/p&gt;
&lt;p&gt;
&lt;img border="0" width="600" src="http://www.gregcons.com/KateBlog/content/binary/20240724_185058.jpg"&gt;
&lt;/p&gt;
&lt;p&gt;
See you all next year! You can even &lt;a href="https://store.cppnorth.ca/"&gt;buy your
tickets right now&lt;/a&gt; for a huge discount to use this year's budget, if you like!
&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=ec821310-05f4-4980-ba29-44aff4b337f5" /&gt;</description>
      <category>C++</category>
      <category>Canadian Colour</category>
      <category>Consulting Life</category>
      <category>Seen and Recommended</category>
      <category>Travel</category>
    </item>
    <item>
      <trackback:ping>http://www.gregcons.com/KateBlog/Trackback.aspx?guid=e262eb69-f014-4ba5-ab87-bbb9f1cfd05f</trackback:ping>
      <pingback:server>http://www.gregcons.com/KateBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=e262eb69-f014-4ba5-ab87-bbb9f1cfd05f</pingback:target>
      <dc:creator>Kate Gregory</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Day 2 at CppNorth started with Lightning Talks! But first I had to walk to the venue.
When I drive around, I'm used to a flagger making cars stop from time to time to let
a construction vehicle proceed. But this was my first sidewalk flagger:
</p>
        <p>
          <img border="0" src="http://www.gregcons.com/KateBlog/content/binary/20240723_083105 resized.jpg" />
        </p>
        <p>
The lightning talks were terrific, as they so often are. Funny, helpful, educational,
often all 3. Pier-Antoine Giguère was our high-energy MC and really shone. I don't
have any pictures because I was paying attention to all the talks!
</p>
        <p>
Then it was Chandler Carruth, one of my fellow Carbon leads, with How Designing Carbon
with C++ Interop Taught Me About C++ Variadics and Overloads, a talk I definitely
enjoyed. There was plenty of code in both languages.
</p>
        <p>
          <img border="0" src="http://www.gregcons.com/KateBlog/content/binary/20240723_111933 cropped.jpg" />
        </p>
        <p>
The audience seemed to enjoy it, too. After lunch I went to Hiding your Implementation
Details is Not So Simple by Amir Kirsh, who has a gentle teaching style I really like.
Then it was Mitigating the Intellectual Anxiety Associated with Learning the C++ Programming
Language by Emmanuel Danso Nyarko from CppAfrica. If you've ever worried about C++'s
reputation for being "the language for smart people" this talk will show you just
how real it is. The reality of what jobs are available in Africa controls what languages
people will learn. With no high-paying fintech or envy-of-your-friends gamedev employers,
why would someone take on something they think is incredibly difficult?
</p>
        <p>
          <img border="0" width="600" src="http://www.gregcons.com/KateBlog/content/binary/20240723_150656.jpg" />
        </p>
        <p>
This also applies to what is in the standard library. Seasoned C++ developers with
lots of community folks to talk to can figure out how to build a UI. Different projects
will make different choices - use Qt or some similar C++ framework, put a not-C++
frontend on a C++ engine, or some of the other choices of various age and success.
But how does someone without that community navigate those choices and get started?
Why doesn't the standard library help with that in any way at all other than "console
apps" with keyboard input and text output?<br /></p>
        <p>
Then I went to see Sohaila Ali, a very poised 17 year old with years of experience
in hackathons and other contests and conferences, talk about career from that youth
perspective. The audience was very engaged and the conversation after the talk was
lively and enlightening.
</p>
        <p>
Alas, as that talk wrapped up I had to do as I mentioned in my keynote and accept
my own limitations. After a very full day of interesting talks I needed to cut the
input for a while so I did not see Eric Wastl's keynote. I look forward to the recording,
because I heard it was good.
</p>
        <p>
One more day to go!
</p>
        <p>
Kate
</p>
        <img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=e262eb69-f014-4ba5-ab87-bbb9f1cfd05f" />
      </body>
      <title>CppNorth Day 2</title>
      <guid isPermaLink="false">http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=e262eb69-f014-4ba5-ab87-bbb9f1cfd05f</guid>
      <link>http://www.gregcons.com/KateBlog/CppNorthDay2.aspx</link>
      <pubDate>Thu, 25 Jul 2024 23:59:18 GMT</pubDate>
      <description>&lt;p&gt;
Day 2 at CppNorth started with Lightning Talks! But first I had to walk to the venue.
When I drive around, I'm used to a flagger making cars stop from time to time to let
a construction vehicle proceed. But this was my first sidewalk flagger:
&lt;/p&gt;
&lt;p&gt;
&lt;img border="0" src="http://www.gregcons.com/KateBlog/content/binary/20240723_083105 resized.jpg"&gt;
&lt;/p&gt;
&lt;p&gt;
The lightning talks were terrific, as they so often are. Funny, helpful, educational,
often all 3. Pier-Antoine Giguère was our high-energy MC and really shone. I don't
have any pictures because I was paying attention to all the talks!
&lt;/p&gt;
&lt;p&gt;
Then it was Chandler Carruth, one of my fellow Carbon leads, with How Designing Carbon
with C++ Interop Taught Me About C++ Variadics and Overloads, a talk I definitely
enjoyed. There was plenty of code in both languages.
&lt;/p&gt;
&lt;p&gt;
&lt;img border="0" src="http://www.gregcons.com/KateBlog/content/binary/20240723_111933 cropped.jpg"&gt;
&lt;/p&gt;
&lt;p&gt;
The audience seemed to enjoy it, too. After lunch I went to Hiding your Implementation
Details is Not So Simple by Amir Kirsh, who has a gentle teaching style I really like.
Then it was Mitigating the Intellectual Anxiety Associated with Learning the C++ Programming
Language by Emmanuel Danso Nyarko from CppAfrica. If you've ever worried about C++'s
reputation for being "the language for smart people" this talk will show you just
how real it is. The reality of what jobs are available in Africa controls what languages
people will learn. With no high-paying fintech or envy-of-your-friends gamedev employers,
why would someone take on something they think is incredibly difficult?
&lt;/p&gt;
&lt;p&gt;
&lt;img border="0" width="600" src="http://www.gregcons.com/KateBlog/content/binary/20240723_150656.jpg"&gt;
&lt;/p&gt;
&lt;p&gt;
This also applies to what is in the standard library. Seasoned C++ developers with
lots of community folks to talk to can figure out how to build a UI. Different projects
will make different choices - use Qt or some similar C++ framework, put a not-C++
frontend on a C++ engine, or some of the other choices of various age and success.
But how does someone without that community navigate those choices and get started?
Why doesn't the standard library help with that in any way at all other than "console
apps" with keyboard input and text output?&lt;br&gt;
&lt;/p&gt;
&lt;p&gt;
Then I went to see Sohaila Ali, a very poised 17 year old with years of experience
in hackathons and other contests and conferences, talk about career from that youth
perspective. The audience was very engaged and the conversation after the talk was
lively and enlightening.
&lt;/p&gt;
&lt;p&gt;
Alas, as that talk wrapped up I had to do as I mentioned in my keynote and accept
my own limitations. After a very full day of interesting talks I needed to cut the
input for a while so I did not see Eric Wastl's keynote. I look forward to the recording,
because I heard it was good.
&lt;/p&gt;
&lt;p&gt;
One more day to go!
&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=e262eb69-f014-4ba5-ab87-bbb9f1cfd05f" /&gt;</description>
      <category>C++</category>
      <category>Carbon</category>
      <category>Seen and Recommended</category>
      <category>Travel</category>
    </item>
    <item>
      <trackback:ping>http://www.gregcons.com/KateBlog/Trackback.aspx?guid=ec1acd7b-5eb7-454a-8e2b-f255477e578a</trackback:ping>
      <pingback:server>http://www.gregcons.com/KateBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=ec1acd7b-5eb7-454a-8e2b-f255477e578a</pingback:target>
      <dc:creator>Kate Gregory</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Monday morning started with a short walk to the venue. The first few minutes were
against the flow of Toronto commuters pouring off a GO train and walking to nearby
offices, which was quite an experience. But on reaching the 44th and 43rd floors,
the reward was an amazing view!
</p>
        <img border="0" width="600" src="http://www.gregcons.com/KateBlog/content/binary/20240722_082941.jpg" />
        <p>
        </p>
        <img border="0" width="600" src="http://www.gregcons.com/KateBlog/content/binary/20240722_082947.jpg" />
        <p>
        </p>
        <p>
I was worried about whether this year's food would be able to match the wonderful
food we had our first two years, at a hotel. Well, it's been just as good and even
better at times. Here's the morning pastries and fruit:
</p>
        <img border="0" width="600" src="http://www.gregcons.com/KateBlog/content/binary/20240722_082731.jpg" />
        <p>
        </p>
        <p>
I had the opening keynote again this year. Here's the empty room after my tech check:
</p>
        <p>
          <img border="0" width="600" src="http://www.gregcons.com/KateBlog/content/binary/20240722_081136.jpg" />
        </p>
        <p>
My talk went really well. This was the first time I had ever given it. I really wanted
to reach the younger people, and I believe I did, to make sure they are aware there
are things they can do early on to build up resources that will help you have a happy
and healthy old age, and program for as long as you want to. I'll blog a link to the
recording when it's live. Here's a picture from Twitter:
</p>
        <p>
          <img border="0" width="800" src="http://www.gregcons.com/KateBlog/content/binary/GTGEuuiWwAASRgG.jpeg" />
        </p>
        <p>
After my talk, I attended "C++ is a MetaCompiler" by Daniel NikPayuk. He had terrific
outlining on his slides.
</p>
        <p>
          <img border="0" width="600" src="http://www.gregcons.com/KateBlog/content/binary/20240722_111054.jpg" />
        </p>
        <p>
I urge everyone who is doing a talk to bake all their highlighting and "notice here
that" into the slides themselves. Show the code, then advance or build or whatever
you call it in your slide tech, so that the thing you want to show people is highlighted
in some way. A coloured background like this works fine. Talk to it, then advance
to the next thing. This is quicker than anything you might do with a mouse or other
tool on the fly, it looks neater, it is guaranteed to be on the recording (pointing
with your hand or a laser pointer never is), and the slides themselves remind you
of the things you wanted to point out on them! I learned a lot from Daniel this week,
starting in this talk but not ending there.
</p>
        <p>
Then I watched Beginner's Mind, Expert's Mind by Dawid Zalewski. This talk was literally
about minds in a way I wasn't expecting and it was very good. Highly recommended.
</p>
        <img border="0" width="600" src="http://www.gregcons.com/KateBlog/content/binary/20240722_135105.jpg" />
        <p>
        </p>
        <p>
After lunch (spent mostly goggling at the amazing views, but the food continued to
be very good) I went to "Software Engineering Completeness : Knowing when you are
done and why it matters" by Peter Muldoon and "Meandering Through C++ to Create ranges::to"
by Rud Merriam. I really enjoyed both of these, one for having no code at all but
understanding how code fits into the big picture, and the other for having a lot of
code and opinions about that code.
</p>
        <p>
Then I went back to the hotel for a nap so that I could attend the Belonging Dinner
in the evening. Negar Farjadnia talked about living as your authentic self and how
even if there are a lot of barriers to that, putting in the effort to overcome those
barriers and reach a place where you can live authentically brings huge rewards, not
just in being happier but in many other aspects of your life. 
</p>
        <p>
What a first day! Super pleased with how it went!
</p>
        <p>
Kate
</p>
        <img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=ec1acd7b-5eb7-454a-8e2b-f255477e578a" />
      </body>
      <title>CppNorth Day 1</title>
      <guid isPermaLink="false">http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=ec1acd7b-5eb7-454a-8e2b-f255477e578a</guid>
      <link>http://www.gregcons.com/KateBlog/CppNorthDay1.aspx</link>
      <pubDate>Wed, 24 Jul 2024 15:32:40 GMT</pubDate>
      <description>&lt;p&gt;
Monday morning started with a short walk to the venue. The first few minutes were
against the flow of Toronto commuters pouring off a GO train and walking to nearby
offices, which was quite an experience. But on reaching the 44th and 43rd floors,
the reward was an amazing view!
&lt;/p&gt;
&lt;img border="0" width="600" src="http://www.gregcons.com/KateBlog/content/binary/20240722_082941.jpg"&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img border="0" width="600" src="http://www.gregcons.com/KateBlog/content/binary/20240722_082947.jpg"&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
I was worried about whether this year's food would be able to match the wonderful
food we had our first two years, at a hotel. Well, it's been just as good and even
better at times. Here's the morning pastries and fruit:
&lt;/p&gt;
&lt;img border="0" width="600" src="http://www.gregcons.com/KateBlog/content/binary/20240722_082731.jpg"&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
I had the opening keynote again this year. Here's the empty room after my tech check:
&lt;/p&gt;
&lt;p&gt;
&lt;img border="0" width="600" src="http://www.gregcons.com/KateBlog/content/binary/20240722_081136.jpg"&gt;
&lt;/p&gt;
&lt;p&gt;
My talk went really well. This was the first time I had ever given it. I really wanted
to reach the younger people, and I believe I did, to make sure they are aware there
are things they can do early on to build up resources that will help you have a happy
and healthy old age, and program for as long as you want to. I'll blog a link to the
recording when it's live. Here's a picture from Twitter:
&lt;/p&gt;
&lt;p&gt;
&lt;img border="0" width="800" src="http://www.gregcons.com/KateBlog/content/binary/GTGEuuiWwAASRgG.jpeg"&gt;
&lt;/p&gt;
&lt;p&gt;
After my talk, I attended "C++ is a MetaCompiler" by Daniel NikPayuk. He had terrific
outlining on his slides.
&lt;/p&gt;
&lt;p&gt;
&lt;img border="0" width="600" src="http://www.gregcons.com/KateBlog/content/binary/20240722_111054.jpg"&gt;
&lt;/p&gt;
&lt;p&gt;
I urge everyone who is doing a talk to bake all their highlighting and "notice here
that" into the slides themselves. Show the code, then advance or build or whatever
you call it in your slide tech, so that the thing you want to show people is highlighted
in some way. A coloured background like this works fine. Talk to it, then advance
to the next thing. This is quicker than anything you might do with a mouse or other
tool on the fly, it looks neater, it is guaranteed to be on the recording (pointing
with your hand or a laser pointer never is), and the slides themselves remind you
of the things you wanted to point out on them! I learned a lot from Daniel this week,
starting in this talk but not ending there.
&lt;/p&gt;
&lt;p&gt;
Then I watched Beginner's Mind, Expert's Mind by Dawid Zalewski. This talk was literally
about minds in a way I wasn't expecting and it was very good. Highly recommended.
&lt;/p&gt;
&lt;img border="0" width="600" src="http://www.gregcons.com/KateBlog/content/binary/20240722_135105.jpg"&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
After lunch (spent mostly goggling at the amazing views, but the food continued to
be very good) I went to "Software Engineering Completeness : Knowing when you are
done and why it matters" by Peter Muldoon and "Meandering Through C++ to Create ranges::to"
by Rud Merriam. I really enjoyed both of these, one for having no code at all but
understanding how code fits into the big picture, and the other for having a lot of
code and opinions about that code.
&lt;/p&gt;
&lt;p&gt;
Then I went back to the hotel for a nap so that I could attend the Belonging Dinner
in the evening. Negar Farjadnia talked about living as your authentic self and how
even if there are a lot of barriers to that, putting in the effort to overcome those
barriers and reach a place where you can live authentically brings huge rewards, not
just in being happier but in many other aspects of your life. 
&lt;/p&gt;
&lt;p&gt;
What a first day! Super pleased with how it went!
&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=ec1acd7b-5eb7-454a-8e2b-f255477e578a" /&gt;</description>
      <category>C++</category>
      <category>Canadian Colour</category>
      <category>Speaking</category>
      <category>Travel</category>
    </item>
    <item>
      <trackback:ping>http://www.gregcons.com/KateBlog/Trackback.aspx?guid=f0f644d5-c609-4cf7-84b7-47115714ae49</trackback:ping>
      <pingback:server>http://www.gregcons.com/KateBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=f0f644d5-c609-4cf7-84b7-47115714ae49</pingback:target>
      <dc:creator>Kate Gregory</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Sunday I travelled to CppNorth in Toronto. It started for me with a bus trip:
</p>
        <p>
          <img border="0" width="600" src="http://www.gregcons.com/KateBlog/content/binary/20240721_130000.jpg" />
        </p>
        <p>
After the bus, I had an hour on the train and then a 5 minute walk to the conference
hotel, the Royal York. I waited for my room to be ready and was pleased to be able
to see the venue from the hotel:
</p>
        <p>
          <img border="0" width="600" src="http://www.gregcons.com/KateBlog/content/binary/20240721_152921.jpg" />
        </p>
        <p>
It's the blue glass building with the diamond shapes on the side. Going back and forth
between the venue and the hotel is quick and easy.
</p>
        <p>
That evening we had a small reception to pick up our badges. I liked these pronoun
pins:
</p>
        <p>
          <img border="0" width="600" src="http://www.gregcons.com/KateBlog/content/binary/20240721_181415.jpg" />
        </p>
        <p>
I also enjoyed the Northern Lights image on the badges. I met people who were here
in previous years, new speakers, and old friends I am happy to see many times a year.
Everyone was eager and ready to learn. It's a great start to the week for sure!
</p>
        <p>
Kate
</p>
        <img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=f0f644d5-c609-4cf7-84b7-47115714ae49" />
      </body>
      <title>CppNorth Day 0</title>
      <guid isPermaLink="false">http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=f0f644d5-c609-4cf7-84b7-47115714ae49</guid>
      <link>http://www.gregcons.com/KateBlog/CppNorthDay0.aspx</link>
      <pubDate>Tue, 23 Jul 2024 19:01:08 GMT</pubDate>
      <description>&lt;p&gt;
Sunday I travelled to CppNorth in Toronto. It started for me with a bus trip:
&lt;/p&gt;
&lt;p&gt;
&lt;img border="0" width="600" src="http://www.gregcons.com/KateBlog/content/binary/20240721_130000.jpg"&gt;
&lt;/p&gt;
&lt;p&gt;
After the bus, I had an hour on the train and then a 5 minute walk to the conference
hotel, the Royal York. I waited for my room to be ready and was pleased to be able
to see the venue from the hotel:
&lt;/p&gt;
&lt;p&gt;
&lt;img border="0" width="600" src="http://www.gregcons.com/KateBlog/content/binary/20240721_152921.jpg"&gt;
&lt;/p&gt;
&lt;p&gt;
It's the blue glass building with the diamond shapes on the side. Going back and forth
between the venue and the hotel is quick and easy.
&lt;/p&gt;
&lt;p&gt;
That evening we had a small reception to pick up our badges. I liked these pronoun
pins:
&lt;/p&gt;
&lt;p&gt;
&lt;img border="0" width="600" src="http://www.gregcons.com/KateBlog/content/binary/20240721_181415.jpg"&gt;
&lt;/p&gt;
&lt;p&gt;
I also enjoyed the Northern Lights image on the badges. I met people who were here
in previous years, new speakers, and old friends I am happy to see many times a year.
Everyone was eager and ready to learn. It's a great start to the week for sure!
&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=f0f644d5-c609-4cf7-84b7-47115714ae49" /&gt;</description>
      <category>C++</category>
      <category>Canadian Colour</category>
      <category>Speaking</category>
      <category>Travel</category>
    </item>
    <item>
      <trackback:ping>http://www.gregcons.com/KateBlog/Trackback.aspx?guid=5786df23-8acd-4c8b-94c4-9a3b9f1b23e3</trackback:ping>
      <pingback:server>http://www.gregcons.com/KateBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=5786df23-8acd-4c8b-94c4-9a3b9f1b23e3</pingback:target>
      <dc:creator>Kate Gregory</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I really enjoy speaking at NDC Techtown in Norway. The airport is pleasant and easy
to navigate, the trains are reliable, and it's a quick walk from the train station
to the hotel, which is right at the venue. Plus the other speakers are always amazing,
so I have a jam-packed two days of sessions to attend. Many years ago I decided to
only speak at conferences where I would want to watch sessions, and it improved my
life tremendously!
</p>
        <p>
This year I'll do <a href="https://ndctechtown.com/agenda/the-aging-programmer-0hbv/0ijumjrizso">The
Aging Programmer</a>. This is a new talk that should be helpful for even the youngest
programmers amongst us, because when it comes to planning for a happy old age doing
what you enjoy, it's never too late, and it's also never too soon.
</p>
        <p>
See you there! You've got three more days to order <a href="https://ndctechtown.com/tickets">Early
Bird tickets</a>!
</p>
        <p>
Kate
</p>
        <img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=5786df23-8acd-4c8b-94c4-9a3b9f1b23e3" />
      </body>
      <title>Speaking at NDC Techtown</title>
      <guid isPermaLink="false">http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=5786df23-8acd-4c8b-94c4-9a3b9f1b23e3</guid>
      <link>http://www.gregcons.com/KateBlog/SpeakingAtNDCTechtown.aspx</link>
      <pubDate>Tue, 21 May 2024 15:07:23 GMT</pubDate>
      <description>&lt;p&gt;
I really enjoy speaking at NDC Techtown in Norway. The airport is pleasant and easy
to navigate, the trains are reliable, and it's a quick walk from the train station
to the hotel, which is right at the venue. Plus the other speakers are always amazing,
so I have a jam-packed two days of sessions to attend. Many years ago I decided to
only speak at conferences where I would want to watch sessions, and it improved my
life tremendously!
&lt;/p&gt;
&lt;p&gt;
This year I'll do &lt;a href="https://ndctechtown.com/agenda/the-aging-programmer-0hbv/0ijumjrizso"&gt;The
Aging Programmer&lt;/a&gt;. This is a new talk that should be helpful for even the youngest
programmers amongst us, because when it comes to planning for a happy old age doing
what you enjoy, it's never too late, and it's also never too soon.
&lt;/p&gt;
&lt;p&gt;
See you there! You've got three more days to order &lt;a href="https://ndctechtown.com/tickets"&gt;Early
Bird tickets&lt;/a&gt;!
&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=5786df23-8acd-4c8b-94c4-9a3b9f1b23e3" /&gt;</description>
      <category>C++</category>
      <category>Consulting Life</category>
      <category>Speaking</category>
      <category>Travel</category>
    </item>
    <item>
      <trackback:ping>http://www.gregcons.com/KateBlog/Trackback.aspx?guid=691f7ece-30ad-4371-8444-617ee562448a</trackback:ping>
      <pingback:server>http://www.gregcons.com/KateBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=691f7ece-30ad-4371-8444-617ee562448a</pingback:target>
      <dc:creator>Kate Gregory</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I am really starting to look forward to <a href="https://cppnorth.ca/">CppNorth</a>.
We're in a new venue this year, the Microsoft Canada offices! They have a lovely suite
of presentation rooms that they make available to community groups like ours. The
program is chosen, and we're working on the schedule. In the meantime you can see
the <a href="https://cppnorth.ca/speakers.html">speakers and their talks</a>. If you're
ready, <a href="https://store.cppnorth.ca/">register </a>now! You can also <a href="https://book.passkey.com/go/0724CPPN001">book
a room</a> at the conference hotel, the Royal York. It's an easy walk from Union Station
to both the conference and the hotel as you can see from this map showing all three. 
</p>
        <p>
          <img border="0" width="800" src="http://www.gregcons.com/KateBlog/content/binary/map[1].jpg" />
        </p>
        <p>
For those who would fly to Toronto, there's a train called the UP between Union Station
and YYZ. You should plan to come a little early so you can do some sightseeing before
the conference. There's a see-and-do channel on the conference discord that will give
you some great ideas.
</p>
        <p>
I'm honoured to do the opening keynote again. This year's topic: The Aging Programmer.
Eyes, wrists, memory, stamina ... so many things we rely on can get weaker as we age.
That doesn't mean you can't keep going if you want to. I'll talk about it.
</p>
        <p>
See you there!
</p>
        <p>
Kate<br /></p>
        <img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=691f7ece-30ad-4371-8444-617ee562448a" />
      </body>
      <title>Speaking at CppNorth</title>
      <guid isPermaLink="false">http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=691f7ece-30ad-4371-8444-617ee562448a</guid>
      <link>http://www.gregcons.com/KateBlog/SpeakingAtCppNorth.aspx</link>
      <pubDate>Mon, 13 May 2024 20:39:01 GMT</pubDate>
      <description>&lt;p&gt;
I am really starting to look forward to &lt;a href="https://cppnorth.ca/"&gt;CppNorth&lt;/a&gt;.
We're in a new venue this year, the Microsoft Canada offices! They have a lovely suite
of presentation rooms that they make available to community groups like ours. The
program is chosen, and we're working on the schedule. In the meantime you can see
the &lt;a href="https://cppnorth.ca/speakers.html"&gt;speakers and their talks&lt;/a&gt;. If you're
ready, &lt;a href="https://store.cppnorth.ca/"&gt;register &lt;/a&gt;now! You can also &lt;a href="https://book.passkey.com/go/0724CPPN001"&gt;book
a room&lt;/a&gt; at the conference hotel, the Royal York. It's an easy walk from Union Station
to both the conference and the hotel as you can see from this map showing all three. 
&lt;/p&gt;
&lt;p&gt;
&lt;img border="0" width="800" src="http://www.gregcons.com/KateBlog/content/binary/map[1].jpg"&gt; 
&lt;/p&gt;
&lt;p&gt;
For those who would fly to Toronto, there's a train called the UP between Union Station
and YYZ. You should plan to come a little early so you can do some sightseeing before
the conference. There's a see-and-do channel on the conference discord that will give
you some great ideas.
&lt;/p&gt;
&lt;p&gt;
I'm honoured to do the opening keynote again. This year's topic: The Aging Programmer.
Eyes, wrists, memory, stamina ... so many things we rely on can get weaker as we age.
That doesn't mean you can't keep going if you want to. I'll talk about it.
&lt;/p&gt;
&lt;p&gt;
See you there!
&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=691f7ece-30ad-4371-8444-617ee562448a" /&gt;</description>
      <category>C++</category>
      <category>Consulting Life</category>
      <category>Seen and Recommended</category>
      <category>Speaking</category>
    </item>
    <item>
      <trackback:ping>http://www.gregcons.com/KateBlog/Trackback.aspx?guid=94d6e3d6-397a-4daf-a728-59f28c2ecc22</trackback:ping>
      <pingback:server>http://www.gregcons.com/KateBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=94d6e3d6-397a-4daf-a728-59f28c2ecc22</pingback:target>
      <dc:creator>Kate Gregory</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
On January 8th, 2004, I got an email from the MVP Lead for Visual C++ at Microsoft,
asking if I would like to be an <a href="https://mvp.microsoft.com/mvp">MVP</a>. After
checking to see what that meant, I said yes, and was <a href="https://mvp.microsoft.com/en-US/MVP/profile/3728e166-3c9a-e411-93f2-9cb65495d3c4">accepted
into the program</a>. I was renewed every year, and at some point after half a year,
making just over 20 years coming up at the end of June. I'm still the only MVP called
Kate.<br /></p>
        <p>
I went out for MVP Summit that first year, and some RD stuff at the same time. Here's
a production still from "Red Chair Green Wall" - the plan had been to greenscreen
in some image related to where we each were from, but then in the end, we didn't.
I'm including it to show how much younger I was then!
</p>
        <img border="0" width="800" src="http://www.gregcons.com/KateBlog/content/binary/PDR_0896 cropped.jpg" />
        <p>
I've decided not to renew this year. Usually, people making this announcement do so
because they're no longer doing the sorts of things MVPs do. But I'm still <a href="https://www.pluralsight.com/authors/kate-gregory">teaching</a>, <a href="https://www.youtube.com/playlist?list=PLsAtvvJ8KXBT-Tx67H5P3TgkiW6llnoBE">speaking</a>, <a href="https://www.includecpp.org/discord/">helping
folks</a> online, writing the occasional <a href="https://www.amazon.ca/Beautiful-Core-Guidelines-Writing-Clean-ebook/dp/B09HTH1X38/ref=sr_1_1?crid=WHHM32N4P7RP&amp;dib=eyJ2IjoiMSJ9.C3Jaj_ifD-jxyo7L_YziGZDj0FpzcqdXy1GX_aqn9nYJSiS1Y-OMXfYz89fqW8Mc4u0vrGzaQuiocGp8kdD4Wl0sBM9603U4ZLSiWJ8m3S8nMiAklpNoAoqzaNZqImwBBEkX1qNeNoWtunWemNQCWnlxm12vNImIjYfHCqlVymNayOrKw99Ql2ww06PGVU_J6QyF8mkZdPHmx2ySl5rZW1oQTej-tk7G52fktHy8Ev0mY7j0yJ4kPQEjehjhVDb7hCGI8BWarlZM975kU1j6nd7hGC1ST0PmSLhJHvf8d9c.dT9xhL55W3lPy970ojOJ4oUkm8qyyakOBQl4Hs4NWpo&amp;dib_tag=se&amp;keywords=beautiful+c%2B%2B&amp;qid=1715280640&amp;sprefix=beautiful+c%2B%2B%2Caps%2C132&amp;sr=8-1">book</a>,
helping to run a <a href="https://cppnorth.ca/">conference</a>, and all the technical
things as well. What's changed isn't so much me, it's the program. I always valued
my connection to the Visual C++ team very highly. These days, the team maintains those
connections with developers whether they are MVPs or not. Events like <a href="https://devblogs.microsoft.com/visualstudio/pure-virtual-cpp-2024-sessions-announced/">Pure
Virtual C++</a>, among other things, can keep me informed as well or better than the
program can. The MVP program is all Azure this and AI that and exciting details and
announcements about conferences that just aren't relevant to me. I'm sure they are
useful and exciting tools and events, for someone. I am focused on my little piece
of the world and don't need more information on the stuff I've decided to ignore.
</p>
        <p>
Joining the program was definitely life changing. I had some wonderful times, learned
things I really needed to learn in as quick and enjoyable a way as you can imagine,
met terrific people and raised my professional profile. I would do it all again in
a heartbeat. I'm just not going to keep doing it, because for me personally the benefits
are dwindling.
</p>
        <p>
I'm truly grateful to John Perry, for bringing me into the program, to Karen Young
for inspiration and funny stories, to Sasha Krsmanovic for everything, to Sim Chaudhry
for cheer and support, and to Betsy Weber for being the last one standing. Most of
all, I'm grateful to my fellow C++ MVPs, and the Canadian MVPs from all technologies,
for being great people to spend time with and learn from. There are too many to mention
-- I hope you all know you really made a difference.
</p>
        <p>
          <br />
        </p>
        <img border="0" width="800" src="http://www.gregcons.com/KateBlog/content/binary/20240509_145826.jpg" />
        <p>
Sure, I could have cropped it a little tighter, but then you wouldn't see the picture
in the background of me with Bill Gates :-) What a marvelous pair of decades!
</p>
        <p>
Kate
</p>
        <img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=94d6e3d6-397a-4daf-a728-59f28c2ecc22" />
      </body>
      <title>Retiring as an MVP</title>
      <guid isPermaLink="false">http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=94d6e3d6-397a-4daf-a728-59f28c2ecc22</guid>
      <link>http://www.gregcons.com/KateBlog/RetiringAsAnMVP.aspx</link>
      <pubDate>Thu, 09 May 2024 19:02:29 GMT</pubDate>
      <description>&lt;p&gt;
On January 8th, 2004, I got an email from the MVP Lead for Visual C++ at Microsoft,
asking if I would like to be an &lt;a href="https://mvp.microsoft.com/mvp"&gt;MVP&lt;/a&gt;. After
checking to see what that meant, I said yes, and was &lt;a href="https://mvp.microsoft.com/en-US/MVP/profile/3728e166-3c9a-e411-93f2-9cb65495d3c4"&gt;accepted
into the program&lt;/a&gt;. I was renewed every year, and at some point after half a year,
making just over 20 years coming up at the end of June. I'm still the only MVP called
Kate.&lt;br&gt;
&lt;/p&gt;
&lt;p&gt;
I went out for MVP Summit that first year, and some RD stuff at the same time. Here's
a production still from "Red Chair Green Wall" - the plan had been to greenscreen
in some image related to where we each were from, but then in the end, we didn't.
I'm including it to show how much younger I was then!
&lt;/p&gt;
&lt;img border="0" width="800" src="http://www.gregcons.com/KateBlog/content/binary/PDR_0896 cropped.jpg"&gt; 
&lt;p&gt;
I've decided not to renew this year. Usually, people making this announcement do so
because they're no longer doing the sorts of things MVPs do. But I'm still &lt;a href="https://www.pluralsight.com/authors/kate-gregory"&gt;teaching&lt;/a&gt;, &lt;a href="https://www.youtube.com/playlist?list=PLsAtvvJ8KXBT-Tx67H5P3TgkiW6llnoBE"&gt;speaking&lt;/a&gt;, &lt;a href="https://www.includecpp.org/discord/"&gt;helping
folks&lt;/a&gt; online, writing the occasional &lt;a href="https://www.amazon.ca/Beautiful-Core-Guidelines-Writing-Clean-ebook/dp/B09HTH1X38/ref=sr_1_1?crid=WHHM32N4P7RP&amp;amp;dib=eyJ2IjoiMSJ9.C3Jaj_ifD-jxyo7L_YziGZDj0FpzcqdXy1GX_aqn9nYJSiS1Y-OMXfYz89fqW8Mc4u0vrGzaQuiocGp8kdD4Wl0sBM9603U4ZLSiWJ8m3S8nMiAklpNoAoqzaNZqImwBBEkX1qNeNoWtunWemNQCWnlxm12vNImIjYfHCqlVymNayOrKw99Ql2ww06PGVU_J6QyF8mkZdPHmx2ySl5rZW1oQTej-tk7G52fktHy8Ev0mY7j0yJ4kPQEjehjhVDb7hCGI8BWarlZM975kU1j6nd7hGC1ST0PmSLhJHvf8d9c.dT9xhL55W3lPy970ojOJ4oUkm8qyyakOBQl4Hs4NWpo&amp;amp;dib_tag=se&amp;amp;keywords=beautiful+c%2B%2B&amp;amp;qid=1715280640&amp;amp;sprefix=beautiful+c%2B%2B%2Caps%2C132&amp;amp;sr=8-1"&gt;book&lt;/a&gt;,
helping to run a &lt;a href="https://cppnorth.ca/"&gt;conference&lt;/a&gt;, and all the technical
things as well. What's changed isn't so much me, it's the program. I always valued
my connection to the Visual C++ team very highly. These days, the team maintains those
connections with developers whether they are MVPs or not. Events like &lt;a href="https://devblogs.microsoft.com/visualstudio/pure-virtual-cpp-2024-sessions-announced/"&gt;Pure
Virtual C++&lt;/a&gt;, among other things, can keep me informed as well or better than the
program can. The MVP program is all Azure this and AI that and exciting details and
announcements about conferences that just aren't relevant to me. I'm sure they are
useful and exciting tools and events, for someone. I am focused on my little piece
of the world and don't need more information on the stuff I've decided to ignore.
&lt;/p&gt;
&lt;p&gt;
Joining the program was definitely life changing. I had some wonderful times, learned
things I really needed to learn in as quick and enjoyable a way as you can imagine,
met terrific people and raised my professional profile. I would do it all again in
a heartbeat. I'm just not going to keep doing it, because for me personally the benefits
are dwindling.
&lt;/p&gt;
&lt;p&gt;
I'm truly grateful to John Perry, for bringing me into the program, to Karen Young
for inspiration and funny stories, to Sasha Krsmanovic for everything, to Sim Chaudhry
for cheer and support, and to Betsy Weber for being the last one standing. Most of
all, I'm grateful to my fellow C++ MVPs, and the Canadian MVPs from all technologies,
for being great people to spend time with and learn from. There are too many to mention
-- I hope you all know you really made a difference.
&lt;/p&gt;
&lt;p&gt;
&lt;br&gt;
&lt;/p&gt;
&lt;img border="0" width="800" src="http://www.gregcons.com/KateBlog/content/binary/20240509_145826.jpg"&gt; 
&lt;p&gt;
Sure, I could have cropped it a little tighter, but then you wouldn't see the picture
in the background of me with Bill Gates :-) What a marvelous pair of decades!
&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=94d6e3d6-397a-4daf-a728-59f28c2ecc22" /&gt;</description>
      <category>C++</category>
      <category>Consulting Life</category>
      <category>MVP</category>
    </item>
    <item>
      <trackback:ping>http://www.gregcons.com/KateBlog/Trackback.aspx?guid=311d3f02-627c-47f3-9be7-55cdb65a95f6</trackback:ping>
      <pingback:server>http://www.gregcons.com/KateBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=311d3f02-627c-47f3-9be7-55cdb65a95f6</pingback:target>
      <dc:creator>Kate Gregory</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
During CppNorth, I took a few minutes away from the conference to do an interview
for Pluralsight. The host was my dear friend Julie Lerman and we had a great time.
We talked about <a href="https://www.pluralsight.com/authors/kate-gregory?exp=3">my
courses</a>, <a href="https://www.includecpp.org/discord/">#include &lt;C++&gt;</a>, <a href="https://cppnorth.ca/">CppNorth</a>, <a href="https://github.com/carbon-language/carbon-lang#readme">Carbon</a>,
and a lot more.
</p>
        <p>
I thought you might like to see a few "production stills" of how I set up the space
to do the recording. It's always a challenge in a hotel room to get good light, keep
the bed out of frame, and be reasonably near an available power plug. I did it!
</p>
        <p>
          <img border="0" src="http://www.gregcons.com/KateBlog/content/binary/20230716_191618.jpg" width="600" />
        </p>
        <p>
Yes, I have my ring light clipped to a lampshade. And I brought the light, my good
mike, and my mike stand to Toronto with me in my suitcase. Getting the laptop up high
enough and at the right angle involved a little foraging in the room :-)
</p>
        <p>
          <img border="0" src="http://www.gregcons.com/KateBlog/content/binary/20230716_191637.jpg" width="600" />
        </p>
        <p>
This was the view from my chair. (That desktop background is the view out of the Bridge
of Sighs, in Venice.)<br /></p>
        <p>
And here's the <a href="https://www.youtube.com/watch?v=duXXXtCLIuA">final video</a>.It's
about seventeen minutes; please do share the link with others.
</p>
        <p>
Kate
</p>
        <img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=311d3f02-627c-47f3-9be7-55cdb65a95f6" />
      </body>
      <title>My Pluralsight Spotlight interview</title>
      <guid isPermaLink="false">http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=311d3f02-627c-47f3-9be7-55cdb65a95f6</guid>
      <link>http://www.gregcons.com/KateBlog/MyPluralsightSpotlightInterview.aspx</link>
      <pubDate>Thu, 31 Aug 2023 15:04:11 GMT</pubDate>
      <description>&lt;p&gt;
During CppNorth, I took a few minutes away from the conference to do an interview
for Pluralsight. The host was my dear friend Julie Lerman and we had a great time.
We talked about &lt;a href="https://www.pluralsight.com/authors/kate-gregory?exp=3"&gt;my
courses&lt;/a&gt;, &lt;a href="https://www.includecpp.org/discord/"&gt;#include &amp;lt;C++&amp;gt;&lt;/a&gt;, &lt;a href="https://cppnorth.ca/"&gt;CppNorth&lt;/a&gt;, &lt;a href="https://github.com/carbon-language/carbon-lang#readme"&gt;Carbon&lt;/a&gt;,
and a lot more.
&lt;/p&gt;
&lt;p&gt;
I thought you might like to see a few "production stills" of how I set up the space
to do the recording. It's always a challenge in a hotel room to get good light, keep
the bed out of frame, and be reasonably near an available power plug. I did it!
&lt;/p&gt;
&lt;p&gt;
&lt;img border="0" src="http://www.gregcons.com/KateBlog/content/binary/20230716_191618.jpg" width="600"&gt;
&lt;/p&gt;
&lt;p&gt;
Yes, I have my ring light clipped to a lampshade. And I brought the light, my good
mike, and my mike stand to Toronto with me in my suitcase. Getting the laptop up high
enough and at the right angle involved a little foraging in the room :-)
&lt;/p&gt;
&lt;p&gt;
&lt;img border="0" src="http://www.gregcons.com/KateBlog/content/binary/20230716_191637.jpg" width="600"&gt;
&lt;/p&gt;
&lt;p&gt;
This was the view from my chair. (That desktop background is the view out of the Bridge
of Sighs, in Venice.)&lt;br&gt;
&lt;/p&gt;
&lt;p&gt;
And here's the &lt;a href="https://www.youtube.com/watch?v=duXXXtCLIuA"&gt;final video&lt;/a&gt;.It's
about seventeen minutes; please do share the link with others.
&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=311d3f02-627c-47f3-9be7-55cdb65a95f6" /&gt;</description>
      <category>C++</category>
      <category>Consulting Life</category>
      <category>Speaking</category>
    </item>
    <item>
      <trackback:ping>http://www.gregcons.com/KateBlog/Trackback.aspx?guid=893800fa-cb20-40c7-8856-e27b8a87f74c</trackback:ping>
      <pingback:server>http://www.gregcons.com/KateBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=893800fa-cb20-40c7-8856-e27b8a87f74c</pingback:target>
      <dc:creator>Kate Gregory</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
The recordings from ACCU have been appearing over the last few weeks and now both
of my talks are up:
</p>
        <ul>
          <li>
            <a href="https://www.youtube.com/watch?v=_AmjHjYUx6c&amp;list=PLsAtvvJ8KXBT-Tx67H5P3TgkiW6llnoBE&amp;index=2">C++
And Beyond: Discussion</a> is a panel discussion with Vittorio Romeo, Kevlin Henney,
Nico Josuttis, and me, moderated by Bryce Lelbach. The fun starts just six minutes
in when Nico declares C++ "fundamentally broken." Still, there is some positive and
hopeful content. We should think about the languages we use and what we want from
them. C++ is a language that changes, which has consequences, both good and bad.</li>
          <li>
            <a href="https://www.youtube.com/watch?v=RHFYV0f7Mb4&amp;list=PLsAtvvJ8KXBT-Tx67H5P3TgkiW6llnoBE&amp;index=1">Become
a Better Programmer by Using Words and Ideas From Casual Gaming</a> is my closing
keynote. Not a lot of syntax in here, but a new way of looking at some of the things
you do at work, and how to approach those, that you may find helpful.</li>
        </ul>
        <p>
Going to conferences in person has many advantages, and I'm glad we're solidly back
to doing that. But for the ones you can't attend, you can at least watch the sessions,
and I highly recommend that you do.
</p>
        <p>
Kate
</p>
        <img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=893800fa-cb20-40c7-8856-e27b8a87f74c" />
      </body>
      <title>The ACCU recordings are live</title>
      <guid isPermaLink="false">http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=893800fa-cb20-40c7-8856-e27b8a87f74c</guid>
      <link>http://www.gregcons.com/KateBlog/TheACCURecordingsAreLive.aspx</link>
      <pubDate>Sun, 27 Aug 2023 15:57:22 GMT</pubDate>
      <description>&lt;p&gt;
The recordings from ACCU have been appearing over the last few weeks and now both
of my talks are up:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://www.youtube.com/watch?v=_AmjHjYUx6c&amp;amp;list=PLsAtvvJ8KXBT-Tx67H5P3TgkiW6llnoBE&amp;amp;index=2"&gt;C++
And Beyond: Discussion&lt;/a&gt; is a panel discussion with Vittorio Romeo, Kevlin Henney,
Nico Josuttis, and me, moderated by Bryce Lelbach. The fun starts just six minutes
in when Nico declares C++ "fundamentally broken." Still, there is some positive and
hopeful content. We should think about the languages we use and what we want from
them. C++ is a language that changes, which has consequences, both good and bad.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.youtube.com/watch?v=RHFYV0f7Mb4&amp;amp;list=PLsAtvvJ8KXBT-Tx67H5P3TgkiW6llnoBE&amp;amp;index=1"&gt;Become
a Better Programmer by Using Words and Ideas From Casual Gaming&lt;/a&gt; is my closing
keynote. Not a lot of syntax in here, but a new way of looking at some of the things
you do at work, and how to approach those, that you may find helpful.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Going to conferences in person has many advantages, and I'm glad we're solidly back
to doing that. But for the ones you can't attend, you can at least watch the sessions,
and I highly recommend that you do.
&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=893800fa-cb20-40c7-8856-e27b8a87f74c" /&gt;</description>
      <category>C++</category>
      <category>Consulting Life</category>
      <category>Speaking</category>
    </item>
    <item>
      <trackback:ping>http://www.gregcons.com/KateBlog/Trackback.aspx?guid=5a355e88-e615-4e78-97a6-5f91be4b20e6</trackback:ping>
      <pingback:server>http://www.gregcons.com/KateBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=5a355e88-e615-4e78-97a6-5f91be4b20e6</pingback:target>
      <dc:creator>Kate Gregory</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
The <a href="https://www.qt.io/qt-world-summit-2023#agenda">agenda </a>for the Qt
World Summit has now been released.
</p>
        <p>
I'll be doing a half-hour version of a talk I've given only once before, "Am I a Good
Programmer?" Many people have told me this is something they worry about pretty often.So
at the end of November, we can discuss it together.<br /></p>
        <p>
          <img border="0" src="http://www.gregcons.com/KateBlog/content/binary/QtWS23 Kate.png" width="800" />
        </p>
        <p>
I've been lucky enough to speak in Berlin at several different conferences and I'm
looking forward to being back there again. Would you like to join me? You can even
get a discount of 10% if you use the code QtWS23_Kate -- <a href="https://www.qt.io/qt-world-summit-2023">register
here</a>. 
<br /></p>
        <p>
Kate<br /></p>
        <img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=5a355e88-e615-4e78-97a6-5f91be4b20e6" />
      </body>
      <title>My Qt World Summit keynote</title>
      <guid isPermaLink="false">http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=5a355e88-e615-4e78-97a6-5f91be4b20e6</guid>
      <link>http://www.gregcons.com/KateBlog/MyQtWorldSummitKeynote.aspx</link>
      <pubDate>Fri, 18 Aug 2023 16:32:58 GMT</pubDate>
      <description>&lt;p&gt;
The &lt;a href="https://www.qt.io/qt-world-summit-2023#agenda"&gt;agenda &lt;/a&gt;for the Qt
World Summit has now been released.
&lt;/p&gt;
&lt;p&gt;
I'll be doing a half-hour version of a talk I've given only once before, "Am I a Good
Programmer?" Many people have told me this is something they worry about pretty often.So
at the end of November, we can discuss it together.&lt;br&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;img border="0" src="http://www.gregcons.com/KateBlog/content/binary/QtWS23 Kate.png" width="800"&gt;
&lt;/p&gt;
&lt;p&gt;
I've been lucky enough to speak in Berlin at several different conferences and I'm
looking forward to being back there again. Would you like to join me? You can even
get a discount of 10% if you use the code QtWS23_Kate -- &lt;a href="https://www.qt.io/qt-world-summit-2023"&gt;register
here&lt;/a&gt;. 
&lt;br&gt;
&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=5a355e88-e615-4e78-97a6-5f91be4b20e6" /&gt;</description>
      <category>C++</category>
      <category>Client Development</category>
      <category>Consulting Life</category>
      <category>Speaking</category>
      <category>Travel</category>
    </item>
    <item>
      <trackback:ping>http://www.gregcons.com/KateBlog/Trackback.aspx?guid=cd25bb40-bdf6-488a-a803-420fe2a53d93</trackback:ping>
      <pingback:server>http://www.gregcons.com/KateBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=cd25bb40-bdf6-488a-a803-420fe2a53d93</pingback:target>
      <dc:creator>Kate Gregory</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Day 3 began with a terrific keynote from Jessica Kerr, <a href="https://cppnorth.digital-medium.co.uk/session/keynote-jessica-kerr/">I
can write the code. But getting something done is another matter</a>. I was so thrilled
when she agreed to come and do a keynote, and this one didn't disappoint. I took pictures
of several slides, always a good sign. 
</p>
        <p>
After a break it was time for Tony Van Eerd with <a href="https://cppnorth.digital-medium.co.uk/session/value-oriented-programming-part-v-return-of-the-values/">Value
Oriented Programming Part V: Return of the Values</a>. There was plenty of pop culture
here but also some darn good advice about making good abstractions, and what's good
about them. Then out for lunch again ... I deliberately chose something different
on my second trip to the market.
</p>
        <p>
The afternoon started with Conor Hoekstra and <a href="https://cppnorth.digital-medium.co.uk/session/new-algorithms-in-c23/">New
Algorithms in C++23</a>. Conor makes these things look easy -- perhaps they actually
are? Then the closing keynote, from Timur Doumler, called <a href="https://cppnorth.digital-medium.co.uk/session/closing-keynote-timur-doumler/">Contracts,
Testing, and the Pursuit of Well Defined Behaviour</a>. We sure have plenty of undefined
behaviour to deal with:
</p>
        <div>
          <img src="http://www.gregcons.com/KateBlog/content/binary/20230719_155116 cropped small.jpg" border="0" />
        </div>
        <div>
          <br />
        </div>
        <div>I enjoyed this keynote too -- they were all good. 
<br /></div>
        <div>
          <br />
        </div>
        <div>And then it was time to say goodbye to this lovely venue and this lovely conference
for another year.
</div>
        <div>
          <br />
        </div>
        <img src="http://www.gregcons.com/KateBlog/content/binary/20230718_145354 small.jpg" border="0" />
        <div>
          <br />
        </div>
        <div>Being all on a single floor this year made it super easy to meet people, have
chats, enjoy the breaks, and so on. One thing I noticed this year was that some people
brought their children. This was just lovely! Parents are quite capable of knowing
if their child can sit quietly and be in a session, and it was great to see that in
action. I hope bringing children to conferences is something I see more often in the
future. 
<br /></div>
        <div>
          <br />
        </div>
        <div>Kate<br /></div>
        <img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=cd25bb40-bdf6-488a-a803-420fe2a53d93" />
      </body>
      <title>CppNorth Day 3</title>
      <guid isPermaLink="false">http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=cd25bb40-bdf6-488a-a803-420fe2a53d93</guid>
      <link>http://www.gregcons.com/KateBlog/CppNorthDay3.aspx</link>
      <pubDate>Thu, 20 Jul 2023 20:26:00 GMT</pubDate>
      <description>&lt;p&gt;
Day 3 began with a terrific keynote from Jessica Kerr, &lt;a href="https://cppnorth.digital-medium.co.uk/session/keynote-jessica-kerr/"&gt;I
can write the code. But getting something done is another matter&lt;/a&gt;. I was so thrilled
when she agreed to come and do a keynote, and this one didn't disappoint. I took pictures
of several slides, always a good sign. 
&lt;/p&gt;
&lt;p&gt;
After a break it was time for Tony Van Eerd with &lt;a href="https://cppnorth.digital-medium.co.uk/session/value-oriented-programming-part-v-return-of-the-values/"&gt;Value
Oriented Programming Part V: Return of the Values&lt;/a&gt;. There was plenty of pop culture
here but also some darn good advice about making good abstractions, and what's good
about them. Then out for lunch again ... I deliberately chose something different
on my second trip to the market.
&lt;/p&gt;
&lt;p&gt;
The afternoon started with Conor Hoekstra and &lt;a href="https://cppnorth.digital-medium.co.uk/session/new-algorithms-in-c23/"&gt;New
Algorithms in C++23&lt;/a&gt;. Conor makes these things look easy -- perhaps they actually
are? Then the closing keynote, from Timur Doumler, called &lt;a href="https://cppnorth.digital-medium.co.uk/session/closing-keynote-timur-doumler/"&gt;Contracts,
Testing, and the Pursuit of Well Defined Behaviour&lt;/a&gt;. We sure have plenty of undefined
behaviour to deal with:
&lt;/p&gt;
&lt;div&gt;&lt;img src="http://www.gregcons.com/KateBlog/content/binary/20230719_155116 cropped small.jpg" border="0"&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;div&gt;I enjoyed this keynote too -- they were all good. 
&lt;br&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;div&gt;And then it was time to say goodbye to this lovely venue and this lovely conference
for another year.
&lt;/div&gt;
&lt;div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;img src="http://www.gregcons.com/KateBlog/content/binary/20230718_145354 small.jpg" border="0"&gt;
&lt;div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;div&gt;Being all on a single floor this year made it super easy to meet people, have
chats, enjoy the breaks, and so on. One thing I noticed this year was that some people
brought their children. This was just lovely! Parents are quite capable of knowing
if their child can sit quietly and be in a session, and it was great to see that in
action. I hope bringing children to conferences is something I see more often in the
future. 
&lt;br&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;div&gt;Kate&lt;br&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=cd25bb40-bdf6-488a-a803-420fe2a53d93" /&gt;</description>
      <category>C++</category>
      <category>Consulting Life</category>
      <category>Seen and Recommended</category>
      <category>Speaking</category>
      <category>Travel</category>
    </item>
    <item>
      <trackback:ping>http://www.gregcons.com/KateBlog/Trackback.aspx?guid=c5def4a3-aada-411a-bd8d-4fe315db9e67</trackback:ping>
      <pingback:server>http://www.gregcons.com/KateBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=c5def4a3-aada-411a-bd8d-4fe315db9e67</pingback:target>
      <dc:creator>Kate Gregory</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Another amazing day in Toronto! Let's talk about what sessions I went to so far.
</p>
        <p>
I started with Patrice Roy's <a href="https://cppnorth.digital-medium.co.uk/session/moving-an-existing-project-to-c-20-for-fun-beauty-and-results/">Moving
an Existing Project to C++ 20 for Fun, Beauty… and Results!</a>. The first part set
up a problem and showed some C++17 code to handle it. I was a little impatient during
this part, because it was a lot of code and I would have done some of it differently
(because I am doing C++20 which is the point of the talk) but I did notice that it
was carefully written to be fast and readable. Then the fun started as things got
shorter, simpler, and (proven with some measuring) faster using C++20 goodies. 
</p>
        <p>
Next was Ben Deane with <a href="https://cppnorth.digital-medium.co.uk/session/calendrical-c-stdchrono-history-mathematics-and-the-computus/">Calendrical
C++: std::chrono, History, Mathematics and the Computus</a>. This very entertaining
talk took a problem few of us really face in code (when is Easter next year?) and
used it to show off what chrono can do with dates. Probably my favourite slide was
the one to show when Thanksgiving is. When you get to it, you'll see why.
</p>
        <p>
The first break of Day 1 was the "Canada Snacks" -- see <a href="https://cppnorth.ca/menu.html">the
published menu</a> for details. I've never put a blackberry on a Nanaimo bar, but
they certainly were delicious.
</p>
        <p>
          <img src="http://www.gregcons.com/KateBlog/content/binary/20230717_143259 crpped small.jpg" border="0" />
        </p>
        <p>
I enjoyed <a href="https://cppnorth.digital-medium.co.uk/session/and-then-some/">And
Then() Some(T)</a> by Victor Ciura a lot, even though I had to duck out early. If
you would say no to "are you using higher order functions today?" this is the talk
for you. Because you almost certainly are, and knowing that will make a lot of things
easier to understand.
</p>
        <p>
For the last talk of Day 1 I had planned to attend Rud Merriam's <a href="https://cppnorth.digital-medium.co.uk/session/a-journey-into-range-views-and-pipelines-and-some-functional-programming/">A
Journey into Ranges, Views, Pipelines, and Currying</a> but some last minute schedule
juggling as speakers ran into travel problems put it up against Timur Doumler with <a href="https://cppnorth.digital-medium.co.uk/session/cpp-and-safety/">C++
and Safety</a>. Safety is a timely topic, so I'll wait for the video to watch Rud's
talk. Timur did an interesting review of what the word "safety" even refers to, why
governments are starting to have an opinion, and whether C++ can ever be proven safe
-- and why you should care.
</p>
        <p>
We wrapped up the day with the conference dinner, a nice mix of old friends and new,
speakers and not, and good food. I enjoyed the conversations a lot!
</p>
        <p>
Day 2 started with a keynote from Ben Deane, <a href="https://cppnorth.digital-medium.co.uk/session/keynote-ben-deane/">Optimizing
for Change</a>. Some excellent advice in this talk even if I did find the dark background
a bit of a challenge on some of the code slides.
</p>
        <p>
I had an online meeting I couldn't miss, so I didn't go to another morning session.
After my call I walked over to the St Lawrence Market to get some lunch. I wish more
conferences were fully in the towns where they are held, and made it simple for attendees
to walk out and experience a little sunshine and access a wider variety of food options.
</p>
        <p>
          <img src="http://www.gregcons.com/KateBlog/content/binary/20230718_123257 cropped small.jpg" border="0" />
        </p>
        <p>
          <img src="http://www.gregcons.com/KateBlog/content/binary/20230718_123434 small.jpg" border="0" />
        </p>
        <p>
The afternoon had more tough choices, but I went to <a href="https://cppnorth.digital-medium.co.uk/session/why-good-code-is-relative/">Why
Good Code is Relative</a> by Daniel Withopf. A good summary of why you can't "just
write it the fast way" and some solid code samples about how to actually follow advice
like "avoid heap allocations."
</p>
        <p>
Then I went to <a href="https://cppnorth.digital-medium.co.uk/session/get-into-retroactive-static-reflection/">Get()
into Retroactive Static Reflection</a> by Vincent Tourangeau. This was a slideless
talk, bopping around in a lot of surprisingly-readable code that showed how to get
properties, introspection, and a lot of other things you think C++ doesn't have --
and all with C++11. I know I'll be watching the video when it's out because there
were a few moments where I wanted to rewind and see something again! 
</p>
        <p>
For my last session of Day 2 I went to <a href="https://cppnorth.digital-medium.co.uk/session/writing-cpp-to-be-read/">Writing
C++ to Be Read </a> by Vincent Zalzal. I really enjoyed this talk! It's the sort of
talk I would give, but Vincent included a number of excellent points I had not made
or heard before. He also had fantastic slides, with highlights to point out the parts
he wanted to draw attention to, and good examples. 
</p>
        <p>
That left the Lightning Talks. Wow, these were so good! As always, some were funny,
some showed something we needed to learn, and some were highly personal. I've seen
a lot of lightning talks and I always get a lot from them. But I don't remember lightning
talks from student volunteers and members of the organizing committee anywhere else.
Worth staying up for!
</p>
        <p>
Next, one more day!
</p>
        <p>
Kate
</p>
        <br />
        <br />
        <img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=c5def4a3-aada-411a-bd8d-4fe315db9e67" />
      </body>
      <title>CppNorth Day 2</title>
      <guid isPermaLink="false">http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=c5def4a3-aada-411a-bd8d-4fe315db9e67</guid>
      <link>http://www.gregcons.com/KateBlog/CppNorthDay2.aspx</link>
      <pubDate>Tue, 18 Jul 2023 11:03:11 GMT</pubDate>
      <description>&lt;p&gt;
Another amazing day in Toronto! Let's talk about what sessions I went to so far.
&lt;/p&gt;
&lt;p&gt;
I started with Patrice Roy's &lt;a href="https://cppnorth.digital-medium.co.uk/session/moving-an-existing-project-to-c-20-for-fun-beauty-and-results/"&gt;Moving
an Existing Project to C++ 20 for Fun, Beauty… and Results!&lt;/a&gt;. The first part set
up a problem and showed some C++17 code to handle it. I was a little impatient during
this part, because it was a lot of code and I would have done some of it differently
(because I am doing C++20 which is the point of the talk) but I did notice that it
was carefully written to be fast and readable. Then the fun started as things got
shorter, simpler, and (proven with some measuring) faster using C++20 goodies. 
&lt;/p&gt;
&lt;p&gt;
Next was Ben Deane with &lt;a href="https://cppnorth.digital-medium.co.uk/session/calendrical-c-stdchrono-history-mathematics-and-the-computus/"&gt;Calendrical
C++: std::chrono, History, Mathematics and the Computus&lt;/a&gt;. This very entertaining
talk took a problem few of us really face in code (when is Easter next year?) and
used it to show off what chrono can do with dates. Probably my favourite slide was
the one to show when Thanksgiving is. When you get to it, you'll see why.
&lt;/p&gt;
&lt;p&gt;
The first break of Day 1 was the "Canada Snacks" -- see &lt;a href="https://cppnorth.ca/menu.html"&gt;the
published menu&lt;/a&gt; for details. I've never put a blackberry on a Nanaimo bar, but
they certainly were delicious.
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://www.gregcons.com/KateBlog/content/binary/20230717_143259 crpped small.jpg" border="0"&gt;
&lt;/p&gt;
&lt;p&gt;
I enjoyed &lt;a href="https://cppnorth.digital-medium.co.uk/session/and-then-some/"&gt;And
Then() Some(T)&lt;/a&gt; by Victor Ciura a lot, even though I had to duck out early. If
you would say no to "are you using higher order functions today?" this is the talk
for you. Because you almost certainly are, and knowing that will make a lot of things
easier to understand.
&lt;/p&gt;
&lt;p&gt;
For the last talk of Day 1 I had planned to attend Rud Merriam's &lt;a href="https://cppnorth.digital-medium.co.uk/session/a-journey-into-range-views-and-pipelines-and-some-functional-programming/"&gt;A
Journey into Ranges, Views, Pipelines, and Currying&lt;/a&gt; but some last minute schedule
juggling as speakers ran into travel problems put it up against Timur Doumler with &lt;a href="https://cppnorth.digital-medium.co.uk/session/cpp-and-safety/"&gt;C++
and Safety&lt;/a&gt;. Safety is a timely topic, so I'll wait for the video to watch Rud's
talk. Timur did an interesting review of what the word "safety" even refers to, why
governments are starting to have an opinion, and whether C++ can ever be proven safe
-- and why you should care.
&lt;/p&gt;
&lt;p&gt;
We wrapped up the day with the conference dinner, a nice mix of old friends and new,
speakers and not, and good food. I enjoyed the conversations a lot!
&lt;/p&gt;
&lt;p&gt;
Day 2 started with a keynote from Ben Deane, &lt;a href="https://cppnorth.digital-medium.co.uk/session/keynote-ben-deane/"&gt;Optimizing
for Change&lt;/a&gt;. Some excellent advice in this talk even if I did find the dark background
a bit of a challenge on some of the code slides.
&lt;/p&gt;
&lt;p&gt;
I had an online meeting I couldn't miss, so I didn't go to another morning session.
After my call I walked over to the St Lawrence Market to get some lunch. I wish more
conferences were fully in the towns where they are held, and made it simple for attendees
to walk out and experience a little sunshine and access a wider variety of food options.
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://www.gregcons.com/KateBlog/content/binary/20230718_123257 cropped small.jpg" border="0"&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://www.gregcons.com/KateBlog/content/binary/20230718_123434 small.jpg" border="0"&gt;
&lt;/p&gt;
&lt;p&gt;
The afternoon had more tough choices, but I went to &lt;a href="https://cppnorth.digital-medium.co.uk/session/why-good-code-is-relative/"&gt;Why
Good Code is Relative&lt;/a&gt; by Daniel Withopf. A good summary of why you can't "just
write it the fast way" and some solid code samples about how to actually follow advice
like "avoid heap allocations."
&lt;/p&gt;
&lt;p&gt;
Then I went to &lt;a href="https://cppnorth.digital-medium.co.uk/session/get-into-retroactive-static-reflection/"&gt;Get()
into Retroactive Static Reflection&lt;/a&gt; by Vincent Tourangeau. This was a slideless
talk, bopping around in a lot of surprisingly-readable code that showed how to get
properties, introspection, and a lot of other things you think C++ doesn't have --
and all with C++11. I know I'll be watching the video when it's out because there
were a few moments where I wanted to rewind and see something again! 
&lt;/p&gt;
&lt;p&gt;
For my last session of Day 2 I went to &lt;a href="https://cppnorth.digital-medium.co.uk/session/writing-cpp-to-be-read/"&gt;Writing
C++ to Be Read &lt;/a&gt; by Vincent Zalzal. I really enjoyed this talk! It's the sort of
talk I would give, but Vincent included a number of excellent points I had not made
or heard before. He also had fantastic slides, with highlights to point out the parts
he wanted to draw attention to, and good examples. 
&lt;/p&gt;
&lt;p&gt;
That left the Lightning Talks. Wow, these were so good! As always, some were funny,
some showed something we needed to learn, and some were highly personal. I've seen
a lot of lightning talks and I always get a lot from them. But I don't remember lightning
talks from student volunteers and members of the organizing committee anywhere else.
Worth staying up for!
&lt;/p&gt;
&lt;p&gt;
Next, one more day!
&lt;/p&gt;
&lt;p&gt;
Kate
&lt;/p&gt;
&lt;br&gt;
&lt;br&gt;
&lt;img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=c5def4a3-aada-411a-bd8d-4fe315db9e67" /&gt;</description>
      <category>C++</category>
      <category>Consulting Life</category>
      <category>Seen and Recommended</category>
    </item>
    <item>
      <trackback:ping>http://www.gregcons.com/KateBlog/Trackback.aspx?guid=d0495e3d-c4f2-4fe5-b18d-cf192a7138ee</trackback:ping>
      <pingback:server>http://www.gregcons.com/KateBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=d0495e3d-c4f2-4fe5-b18d-cf192a7138ee</pingback:target>
      <dc:creator>Kate Gregory</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
So great that the second year of <a href="https://cppnorth.ca/">CppNorth </a>has really
happened, and started so darn well, too!
</p>
        <p>
We started planning year two even before year one had happened, with a "next year"
folder, and never really stopped. If you thought it was challenging to plan and host
a conference with a pandemic still underway, that's nothing compared to doing the
same thing during -- what are we calling it? -- an "economic downturn"? Getting attendees
and sponsors took a lot of work, and luckily a pile of people who aren't me did that
work. 
</p>
        <p>
Me, I showed up on Day 1 and did a keynote. I really enjoyed it, too. I'll post again
when the video is up ... if you're an attendee you should be able to get the slides
any time now.
</p>
        <p>
          <img src="http://www.gregcons.com/KateBlog/content/binary/F1Pum_gXsAAm47q cropped.jpg" width="800" border="0" />
        </p>
        <p>
This is 90 minutes of "stuff I've learned" like "Take Notes in Meetings" and "Always
Take a Moment to Check" (aka Shift Left but for people) and the like. Many people
told me it was helpful, which is very reassuring.
</p>
        <p>
Kate<br /></p>
        <img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=d0495e3d-c4f2-4fe5-b18d-cf192a7138ee" />
      </body>
      <title>CppNorth Day 1</title>
      <guid isPermaLink="false">http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=d0495e3d-c4f2-4fe5-b18d-cf192a7138ee</guid>
      <link>http://www.gregcons.com/KateBlog/CppNorthDay1.aspx</link>
      <pubDate>Mon, 17 Jul 2023 15:34:57 GMT</pubDate>
      <description>&lt;p&gt;
So great that the second year of &lt;a href="https://cppnorth.ca/"&gt;CppNorth &lt;/a&gt;has really
happened, and started so darn well, too!
&lt;/p&gt;
&lt;p&gt;
We started planning year two even before year one had happened, with a "next year"
folder, and never really stopped. If you thought it was challenging to plan and host
a conference with a pandemic still underway, that's nothing compared to doing the
same thing during -- what are we calling it? -- an "economic downturn"? Getting attendees
and sponsors took a lot of work, and luckily a pile of people who aren't me did that
work. 
&lt;/p&gt;
&lt;p&gt;
Me, I showed up on Day 1 and did a keynote. I really enjoyed it, too. I'll post again
when the video is up ... if you're an attendee you should be able to get the slides
any time now.
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://www.gregcons.com/KateBlog/content/binary/F1Pum_gXsAAm47q cropped.jpg" width="800" border="0"&gt;
&lt;/p&gt;
&lt;p&gt;
This is 90 minutes of "stuff I've learned" like "Take Notes in Meetings" and "Always
Take a Moment to Check" (aka Shift Left but for people) and the like. Many people
told me it was helpful, which is very reassuring.
&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=d0495e3d-c4f2-4fe5-b18d-cf192a7138ee" /&gt;</description>
      <category>C++</category>
      <category>Consulting Life</category>
      <category>Seen and Recommended</category>
      <category>Speaking</category>
    </item>
    <item>
      <trackback:ping>http://www.gregcons.com/KateBlog/Trackback.aspx?guid=debcb2c0-34c6-4277-8a04-2c330908f408</trackback:ping>
      <pingback:server>http://www.gregcons.com/KateBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=debcb2c0-34c6-4277-8a04-2c330908f408</pingback:target>
      <dc:creator>Kate Gregory</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I had a lot on my plate when the MVP renewals appeared July 6th, but I'm delighted
to number myself among this illustrious group again. I'm never worried that I haven't
done enough for the C++ community, but I do sometimes worry if the C++ community is
the target audience for the program any more. Still, I suppose it must be, since they
renewed me. 
<br /></p>
        <p>
I updated <a href="https://mvp.microsoft.com/en-us/PublicProfile/9511?fullName=Kate%20Gregory">my
profile on the MVP site</a> a little.
</p>
        <p>
Kate<br /></p>
        <img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=debcb2c0-34c6-4277-8a04-2c330908f408" />
      </body>
      <title>Renewed as an MVP again</title>
      <guid isPermaLink="false">http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=debcb2c0-34c6-4277-8a04-2c330908f408</guid>
      <link>http://www.gregcons.com/KateBlog/RenewedAsAnMVPAgain.aspx</link>
      <pubDate>Sat, 15 Jul 2023 14:10:05 GMT</pubDate>
      <description>&lt;p&gt;
I had a lot on my plate when the MVP renewals appeared July 6th, but I'm delighted
to number myself among this illustrious group again. I'm never worried that I haven't
done enough for the C++ community, but I do sometimes worry if the C++ community is
the target audience for the program any more. Still, I suppose it must be, since they
renewed me. 
&lt;br&gt;
&lt;/p&gt;
&lt;p&gt;
I updated &lt;a href="https://mvp.microsoft.com/en-us/PublicProfile/9511?fullName=Kate%20Gregory"&gt;my
profile on the MVP site&lt;/a&gt; a little.
&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=debcb2c0-34c6-4277-8a04-2c330908f408" /&gt;</description>
      <category>C++</category>
      <category>Consulting Life</category>
      <category>MVP</category>
    </item>
    <item>
      <trackback:ping>http://www.gregcons.com/KateBlog/Trackback.aspx?guid=250de985-a301-417e-b70b-e1ec7a71707c</trackback:ping>
      <pingback:server>http://www.gregcons.com/KateBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=250de985-a301-417e-b70b-e1ec7a71707c</pingback:target>
      <dc:creator>Kate Gregory</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
From time to time I think it's wise to summarize the courses I have on Pluralsight.
There is a link on the side you can use to get a free trial if you want to take any
of these. Because I redo most of the courses each time a new version of C++ becomes
widespread, there are quite a few courses with similar names. Here's a quick summary.<br /></p>
        <p>
If you are using the latest version of a major compiler, you are on C++20. These courses
have been updated for C++20: 
</p>
        <ul>
          <li>
            <a href="https://www.pluralsight.com/courses/cplusplus-20-big-picture">C++ 20: The
Big Picture </a>This is an overview covering "what is C++?" and "what is it used for?".
If someone has suggested you learn it, start here to understand why you might want
to. The title means that it's up to date to C++20, not that it only covers C++20.
The actual content is equally applicable to older versions of the language.<br /></li>
          <li>
            <a href="https://www.pluralsight.com/courses/cplusplus-20-fundamentals">C++20 Fundamentals</a> is
more properly "the fundamentals of C++ including things that were introduced in C++20".
This is an introduction to the ideas, syntax, and standard library. At seven and a
half hours it can't cover absolutely every corner of the language, but it does cover
what you need to call yourself a C++ programmer, and get started writing real code.
This course assumes you already know how to program. If you don't, try <a href="https://www.pluralsight.com/courses/learn-program-cplusplus">Learn
to Program with C++ 17</a> which will cover the building blocks of programming languages
like loops, functions, and objects while teaching the C++ syntax and library. Afterwards,
you can take Fundamentals to fill in any gaps.<br /></li>
          <li>
            <a href="https://www.pluralsight.com/courses/cplusplus-20-algorithms-playbook">C++20
Algorithms Playbook</a> again covers up to and including C++20, so plenty of things
that have been around for decades, but it does have a lot of content that is C++20
only, because ranges made such a big difference here. If you're not on C++20 yet,
take the C++17 version, listed below. Both versions are designed to convince you to
stop writing raw loops and start using the many useful functions provided in the standard
library. I demystify iterators and show you the benefits of using library code instead
of rolling your own.</li>
        </ul>
        <div>If you're not on C++20 and are wondering if you should be, try <a href="https://www.pluralsight.com/courses/whats-new-cplusplus-20">What's
New in C++20.</a> It will show you what you have to gain by updating to the latest
version of your compiler (and how to try things out if your compiler doesn't support
something yet.)
</div>
        <div>
          <br />
        </div>
        <div>If you're on an older version and can't move, you should still use the latest
iteration of Fundamentals. There's very little C++20 only material in there, and it's
all signposted, so you can just move past that part if you need to. For the algorithms
course, <a href="https://www.pluralsight.com/courses/beautiful-cplusplus-stl-algorithms">Beautiful
C++ 14: STL Algorithms</a> is the older version that doesn't have all the ranges additions.
</div>
        <div>
          <br />
        </div>
        <div>Some of my courses are really not version specific, but apply to particular kinds
of work you might need to do.
</div>
        <div>
          <ul>
            <li>
              <a href="https://www.pluralsight.com/courses/reading-legacy-cplusplus">Reading Legacy
C++</a> helps you navigate old and decidedly non-modern codebases so you can understand
what you're seeing</li>
            <li>
              <a href="https://www.pluralsight.com/courses/cpp-updating-legacy-code">Beautiful C++
17: Updating Legacy Code</a> is for those who need to change that code to a more modern
style and aren't sure where to start -- or how to know when you're done!</li>
            <li>
              <a href="https://www.pluralsight.com/courses/cplusplus-core-guidelines-and-support-library-first-look">First
Look: C++ Core Guidelines and the Guideline Support Library</a> is ancient by Pluralsight
standards, but if you haven't got around to checking out the guidelines, it will give
you a way to get started. If you want a deeper dive, I have a <a href="https://www.amazon.com/Beautiful-Core-Guidelines-Writing-Clean/dp/0137647840/ref=sr_1_1?crid=DARDSEDN5EXT">book </a>you
might enjoy.</li>
          </ul>
          <div>I plan to update everything for C++23 when the compilers have support for the
new features. There are a few things coming I'm really looking forward to!
</div>
          <div>
            <br />
          </div>
          <div>Kate<br /></div>
        </div>
        <p>
        </p>
        <p>
        </p>
        <p>
        </p>
        <img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=250de985-a301-417e-b70b-e1ec7a71707c" />
      </body>
      <title>My Pluralsight courses</title>
      <guid isPermaLink="false">http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=250de985-a301-417e-b70b-e1ec7a71707c</guid>
      <link>http://www.gregcons.com/KateBlog/MyPluralsightCourses.aspx</link>
      <pubDate>Sat, 17 Jun 2023 18:51:47 GMT</pubDate>
      <description>&lt;p&gt;
From time to time I think it's wise to summarize the courses I have on Pluralsight.
There is a link on the side you can use to get a free trial if you want to take any
of these. Because I redo most of the courses each time a new version of C++ becomes
widespread, there are quite a few courses with similar names. Here's a quick summary.&lt;br&gt;
&lt;/p&gt;
&lt;p&gt;
If you are using the latest version of a major compiler, you are on C++20. These courses
have been updated for C++20: 
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://www.pluralsight.com/courses/cplusplus-20-big-picture"&gt;C++ 20: The
Big Picture &lt;/a&gt;This is an overview covering "what is C++?" and "what is it used for?".
If someone has suggested you learn it, start here to understand why you might want
to. The title means that it's up to date to C++20, not that it only covers C++20.
The actual content is equally applicable to older versions of the language.&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.pluralsight.com/courses/cplusplus-20-fundamentals"&gt;C++20 Fundamentals&lt;/a&gt; is
more properly "the fundamentals of C++ including things that were introduced in C++20".
This is an introduction to the ideas, syntax, and standard library. At seven and a
half hours it can't cover absolutely every corner of the language, but it does cover
what you need to call yourself a C++ programmer, and get started writing real code.
This course assumes you already know how to program. If you don't, try &lt;a href="https://www.pluralsight.com/courses/learn-program-cplusplus"&gt;Learn
to Program with C++ 17&lt;/a&gt; which will cover the building blocks of programming languages
like loops, functions, and objects while teaching the C++ syntax and library. Afterwards,
you can take Fundamentals to fill in any gaps.&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.pluralsight.com/courses/cplusplus-20-algorithms-playbook"&gt;C++20
Algorithms Playbook&lt;/a&gt; again covers up to and including C++20, so plenty of things
that have been around for decades, but it does have a lot of content that is C++20
only, because ranges made such a big difference here. If you're not on C++20 yet,
take the C++17 version, listed below. Both versions are designed to convince you to
stop writing raw loops and start using the many useful functions provided in the standard
library. I demystify iterators and show you the benefits of using library code instead
of rolling your own.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;If you're not on C++20 and are wondering if you should be, try &lt;a href="https://www.pluralsight.com/courses/whats-new-cplusplus-20"&gt;What's
New in C++20.&lt;/a&gt; It will show you what you have to gain by updating to the latest
version of your compiler (and how to try things out if your compiler doesn't support
something yet.)
&lt;/div&gt;
&lt;div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;div&gt;If you're on an older version and can't move, you should still use the latest
iteration of Fundamentals. There's very little C++20 only material in there, and it's
all signposted, so you can just move past that part if you need to. For the algorithms
course, &lt;a href="https://www.pluralsight.com/courses/beautiful-cplusplus-stl-algorithms"&gt;Beautiful
C++ 14: STL Algorithms&lt;/a&gt; is the older version that doesn't have all the ranges additions.
&lt;/div&gt;
&lt;div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;div&gt;Some of my courses are really not version specific, but apply to particular kinds
of work you might need to do.
&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://www.pluralsight.com/courses/reading-legacy-cplusplus"&gt;Reading Legacy
C++&lt;/a&gt; helps you navigate old and decidedly non-modern codebases so you can understand
what you're seeing&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.pluralsight.com/courses/cpp-updating-legacy-code"&gt;Beautiful C++
17: Updating Legacy Code&lt;/a&gt; is for those who need to change that code to a more modern
style and aren't sure where to start -- or how to know when you're done!&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.pluralsight.com/courses/cplusplus-core-guidelines-and-support-library-first-look"&gt;First
Look: C++ Core Guidelines and the Guideline Support Library&lt;/a&gt; is ancient by Pluralsight
standards, but if you haven't got around to checking out the guidelines, it will give
you a way to get started. If you want a deeper dive, I have a &lt;a href="https://www.amazon.com/Beautiful-Core-Guidelines-Writing-Clean/dp/0137647840/ref=sr_1_1?crid=DARDSEDN5EXT"&gt;book &lt;/a&gt;you
might enjoy.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;I plan to update everything for C++23 when the compilers have support for the
new features. There are a few things coming I'm really looking forward to!
&lt;/div&gt;
&lt;div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;div&gt;Kate&lt;br&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=250de985-a301-417e-b70b-e1ec7a71707c" /&gt;</description>
      <category>C++</category>
      <category>C++ Guidelines</category>
      <category>Seen and Recommended</category>
    </item>
    <item>
      <trackback:ping>http://www.gregcons.com/KateBlog/Trackback.aspx?guid=11752bb4-3671-4b56-a785-c6d501155fff</trackback:ping>
      <pingback:server>http://www.gregcons.com/KateBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=11752bb4-3671-4b56-a785-c6d501155fff</pingback:target>
      <dc:creator>Kate Gregory</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Time for an update on the conferences I'm doing in 2023.
</p>
        <p>
In April I did the closing keynote at <a href="https://www.accuconference.org/keynote-speakers/">ACCU</a>, <a href="https://conference.accu.org/en/accu2023/public/events/76">Grinding,
Farming, and Alliances How words and ideas from casual gaming can make you a better
programmer</a>. My idea here is that certain things you are fine with in games, like
"daily housekeeping", don't feel the same in your job. If you could feel better about
them, you might be happier or more successful. Also, games pull on strengths like
altruism and responsibility to get you to do things -- can your job do the same? Can
your harness that to be more successful (however you define success) or happier at
work? This talk was recorded and I expect it on the <a href="https://www.youtube.com/@ACCUConf">ACCU
Youtube channel</a> some time in June.
</p>
        <p>
Next up will be "my own" conference, which is to say the one dearest to me as well
as geographically nearest, <a href="https://cppnorth.ca/">CppNorth</a>. There's still
time to register for this: it will be in Toronto at the King Edward Hotel. July 17th
and 18th are <a href="https://cppnorth.ca/workshops.html">preconference workshops</a>,
and the 19th, 20th, and 21st are three jam packed days of <a href="https://cppnorth.digital-medium.co.uk/23-preview">sessions</a> with
evening activities Sunday, Monday, and Tuesday. If you live in and around Toronto
this is your chance to see famous speakers (and discover some new ones) without having
to fly a long way. I recommend you get a hotel room though, so you can truly immerse
yourself in the conference while you're attending. My keynote is Steps To Wisdom:
some tips I want to share with you that I earned through hard experience.<br /></p>
        <p>
In September I'll be returning to <a href="https://ndctechtown.com/">NDC Techtown</a>,
this time to deliver the closing keynote on Day 1. These days I choose conferences
based on many factors and small friendly ones like CppNorth and NDC Techtown really
appeal to me. Both attract very good speakers and I expect to learn things -- I know
I did last year!
</p>
        <p>
In November I'll be doing something I haven't done before -- I recommend doing something
new at least once a year no matter how old you get. In this case it's <a href="https://www.qt.io/qt-world-summit-2023">Qt
World Summit</a> in Berlin, where I will have a small keynote. I look forward to new
people and new ideas from this experience, and hope to reach some people who haven't
heard me speak before.
</p>
        <p>
It's not too soon to think about the 2024 season, for me anyway. If you'd like me
to speak at your conference, you can see many of my previous talks on <a href="https://www.youtube.com/playlist?list=PLsAtvvJ8KXBT-Tx67H5P3TgkiW6llnoBE">my
YouTube playlist</a>. Please check my <a href="http://www.gregcons.com/SpeakerKit.aspx">Speaker
Kit</a> for the details of my preferences.
</p>
        <p>
See you at a conference, I hope!
</p>
        <p>
Kate<br /></p>
        <img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=11752bb4-3671-4b56-a785-c6d501155fff" />
      </body>
      <title>Conference Season is Underway</title>
      <guid isPermaLink="false">http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=11752bb4-3671-4b56-a785-c6d501155fff</guid>
      <link>http://www.gregcons.com/KateBlog/ConferenceSeasonIsUnderway.aspx</link>
      <pubDate>Fri, 16 Jun 2023 20:00:49 GMT</pubDate>
      <description>&lt;p&gt;
Time for an update on the conferences I'm doing in 2023.
&lt;/p&gt;
&lt;p&gt;
In April I did the closing keynote at &lt;a href="https://www.accuconference.org/keynote-speakers/"&gt;ACCU&lt;/a&gt;, &lt;a href="https://conference.accu.org/en/accu2023/public/events/76"&gt;Grinding,
Farming, and Alliances How words and ideas from casual gaming can make you a better
programmer&lt;/a&gt;. My idea here is that certain things you are fine with in games, like
"daily housekeeping", don't feel the same in your job. If you could feel better about
them, you might be happier or more successful. Also, games pull on strengths like
altruism and responsibility to get you to do things -- can your job do the same? Can
your harness that to be more successful (however you define success) or happier at
work? This talk was recorded and I expect it on the &lt;a href="https://www.youtube.com/@ACCUConf"&gt;ACCU
Youtube channel&lt;/a&gt; some time in June.
&lt;/p&gt;
&lt;p&gt;
Next up will be "my own" conference, which is to say the one dearest to me as well
as geographically nearest, &lt;a href="https://cppnorth.ca/"&gt;CppNorth&lt;/a&gt;. There's still
time to register for this: it will be in Toronto at the King Edward Hotel. July 17th
and 18th are &lt;a href="https://cppnorth.ca/workshops.html"&gt;preconference workshops&lt;/a&gt;,
and the 19th, 20th, and 21st are three jam packed days of &lt;a href="https://cppnorth.digital-medium.co.uk/23-preview"&gt;sessions&lt;/a&gt; with
evening activities Sunday, Monday, and Tuesday. If you live in and around Toronto
this is your chance to see famous speakers (and discover some new ones) without having
to fly a long way. I recommend you get a hotel room though, so you can truly immerse
yourself in the conference while you're attending. My keynote is Steps To Wisdom:
some tips I want to share with you that I earned through hard experience.&lt;br&gt;
&lt;/p&gt;
&lt;p&gt;
In September I'll be returning to &lt;a href="https://ndctechtown.com/"&gt;NDC Techtown&lt;/a&gt;,
this time to deliver the closing keynote on Day 1. These days I choose conferences
based on many factors and small friendly ones like CppNorth and NDC Techtown really
appeal to me. Both attract very good speakers and I expect to learn things -- I know
I did last year!
&lt;/p&gt;
&lt;p&gt;
In November I'll be doing something I haven't done before -- I recommend doing something
new at least once a year no matter how old you get. In this case it's &lt;a href="https://www.qt.io/qt-world-summit-2023"&gt;Qt
World Summit&lt;/a&gt; in Berlin, where I will have a small keynote. I look forward to new
people and new ideas from this experience, and hope to reach some people who haven't
heard me speak before.
&lt;/p&gt;
&lt;p&gt;
It's not too soon to think about the 2024 season, for me anyway. If you'd like me
to speak at your conference, you can see many of my previous talks on &lt;a href="https://www.youtube.com/playlist?list=PLsAtvvJ8KXBT-Tx67H5P3TgkiW6llnoBE"&gt;my
YouTube playlist&lt;/a&gt;. Please check my &lt;a href="http://www.gregcons.com/SpeakerKit.aspx"&gt;Speaker
Kit&lt;/a&gt; for the details of my preferences.
&lt;/p&gt;
&lt;p&gt;
See you at a conference, I hope!
&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=11752bb4-3671-4b56-a785-c6d501155fff" /&gt;</description>
      <category>C++</category>
      <category>Consulting Life</category>
      <category>Speaking</category>
    </item>
    <item>
      <trackback:ping>http://www.gregcons.com/KateBlog/Trackback.aspx?guid=ffa3a372-2cec-419d-a4be-fe8895397bc9</trackback:ping>
      <pingback:server>http://www.gregcons.com/KateBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=ffa3a372-2cec-419d-a4be-fe8895397bc9</pingback:target>
      <dc:creator>Kate Gregory</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I've been working away for the last few months completely overhauling my <a href="https://www.pluralsight.com/courses/cplusplus-20-fundamentals">C++
Fundamentals course at Pluralsight</a>. Of course I updated everything for C++20,
but I also added a module on error handling options, tweaked most demos, and lightened
the overall look and feel. I'm really happy with how it turned out. 
</p>
        <p>
Here's the table of contents:
</p>
        <p>
          <img src="http://www.gregcons.com/KateBlog/content/binary/toc.jpg" width="880" border="0" />
        </p>
        <p>
Leaving pointers almost till the end may seem like a shock, but this is how I teach
C++ these days and it really works well.<br /></p>
        <p>
As always, if you need a trial code, look for the image in the sidebar here to get
a free trial and give it a whirl! I had a great time writing and recording it and
hope you enjoy watching it.
</p>
        <p>
Kate<br /></p>
        <img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=ffa3a372-2cec-419d-a4be-fe8895397bc9" />
      </body>
      <title>I've updated C++ Fundamentals on Pluralsight</title>
      <guid isPermaLink="false">http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=ffa3a372-2cec-419d-a4be-fe8895397bc9</guid>
      <link>http://www.gregcons.com/KateBlog/IveUpdatedCFundamentalsOnPluralsight.aspx</link>
      <pubDate>Wed, 03 Aug 2022 15:18:49 GMT</pubDate>
      <description>&lt;p&gt;
I've been working away for the last few months completely overhauling my &lt;a href="https://www.pluralsight.com/courses/cplusplus-20-fundamentals"&gt;C++
Fundamentals course at Pluralsight&lt;/a&gt;. Of course I updated everything for C++20,
but I also added a module on error handling options, tweaked most demos, and lightened
the overall look and feel. I'm really happy with how it turned out. 
&lt;/p&gt;
&lt;p&gt;
Here's the table of contents:
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://www.gregcons.com/KateBlog/content/binary/toc.jpg" width="880" border="0"&gt;
&lt;/p&gt;
&lt;p&gt;
Leaving pointers almost till the end may seem like a shock, but this is how I teach
C++ these days and it really works well.&lt;br&gt;
&lt;/p&gt;
&lt;p&gt;
As always, if you need a trial code, look for the image in the sidebar here to get
a free trial and give it a whirl! I had a great time writing and recording it and
hope you enjoy watching it.
&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=ffa3a372-2cec-419d-a4be-fe8895397bc9" /&gt;</description>
      <category>C++</category>
      <category>Seen and Recommended</category>
    </item>
    <item>
      <trackback:ping>http://www.gregcons.com/KateBlog/Trackback.aspx?guid=9151242b-5bf4-481e-bef0-5446af49385c</trackback:ping>
      <pingback:server>http://www.gregcons.com/KateBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=9151242b-5bf4-481e-bef0-5446af49385c</pingback:target>
      <dc:creator>Kate Gregory</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Maybe you hadn't heard? There's going to be a <a href="https://cppnorth.ca/index.html">C++
conference in Toronto this summer</a>. It's very exciting! I'm helping to arrange
it. We've got a great <a href="https://cppnorth.ca/venue.html">venue </a>(the King
Edward) and are busy building a program right now that includes breakouts, <a href="https://cppnorth.ca/workshops.html">workshops</a> on
concurrency, generic programming, and game development, plus entertainment in the
evenings and plenty of special extras. I want to see Canadian C++ programmers well
represented, and hope we attract people from further afield as well. Toronto in the
summer is warm, fun, and light well into the evening. 
<br /></p>
        <p>
          <a href="https://cppnorth.ca/index.html">
            <img src="https://cppnorth.ca/images/hero_1.jpg" alt="Toronto downtown" width="400" />
          </a>
        </p>
        <p>
Right now, the <a href="https://cppnorth.ca/registration.html">early bird price of
$925</a> is in effect. After we announce the full program in April, the regular price
will be $1250. So you can save a lot of money if you trust us to put together a great
conference <a href="https://cppnorth.ca/speakers.html">program </a>for you (and we
will!). You'll save enough to be able to pay for the speaker dinner, a conference
Tshirt, and so on. And you'll let us know that we'll get the attendees we need to
put on a great show.
</p>
        <p>
Registering early helps us do things like make deposit payments to our vendors. We
don't have a surplus-from-last-year, because this is our first year. So support from
the community will really help. Why not check your schedule for the third full week
of July (the conference is the 17th to 20th, and there are two-day workshops over
the weekend of the 15th/16th) and arrange now to join us?
</p>
        <p>
Kate<br /></p>
        <img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=9151242b-5bf4-481e-bef0-5446af49385c" />
      </body>
      <title>Now is a great time to register for CppNorth</title>
      <guid isPermaLink="false">http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=9151242b-5bf4-481e-bef0-5446af49385c</guid>
      <link>http://www.gregcons.com/KateBlog/NowIsAGreatTimeToRegisterForCppNorth.aspx</link>
      <pubDate>Fri, 25 Feb 2022 20:31:14 GMT</pubDate>
      <description>&lt;p&gt;
Maybe you hadn't heard? There's going to be a &lt;a href="https://cppnorth.ca/index.html"&gt;C++
conference in Toronto this summer&lt;/a&gt;. It's very exciting! I'm helping to arrange
it. We've got a great &lt;a href="https://cppnorth.ca/venue.html"&gt;venue &lt;/a&gt;(the King
Edward) and are busy building a program right now that includes breakouts, &lt;a href="https://cppnorth.ca/workshops.html"&gt;workshops&lt;/a&gt; on
concurrency, generic programming, and game development, plus entertainment in the
evenings and plenty of special extras. I want to see Canadian C++ programmers well
represented, and hope we attract people from further afield as well. Toronto in the
summer is warm, fun, and light well into the evening. 
&lt;br&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="https://cppnorth.ca/index.html"&gt;&lt;img src="https://cppnorth.ca/images/hero_1.jpg" alt="Toronto downtown" width="400"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Right now, the &lt;a href="https://cppnorth.ca/registration.html"&gt;early bird price of
$925&lt;/a&gt; is in effect. After we announce the full program in April, the regular price
will be $1250. So you can save a lot of money if you trust us to put together a great
conference &lt;a href="https://cppnorth.ca/speakers.html"&gt;program &lt;/a&gt;for you (and we
will!). You'll save enough to be able to pay for the speaker dinner, a conference
Tshirt, and so on. And you'll let us know that we'll get the attendees we need to
put on a great show.
&lt;/p&gt;
&lt;p&gt;
Registering early helps us do things like make deposit payments to our vendors. We
don't have a surplus-from-last-year, because this is our first year. So support from
the community will really help. Why not check your schedule for the third full week
of July (the conference is the 17th to 20th, and there are two-day workshops over
the weekend of the 15th/16th) and arrange now to join us?
&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=9151242b-5bf4-481e-bef0-5446af49385c" /&gt;</description>
      <category>C++</category>
      <category>Seen and Recommended</category>
      <category>Travel</category>
    </item>
    <item>
      <trackback:ping>http://www.gregcons.com/KateBlog/Trackback.aspx?guid=23df3613-c7b4-4a07-91b8-16883d75af15</trackback:ping>
      <pingback:server>http://www.gregcons.com/KateBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=23df3613-c7b4-4a07-91b8-16883d75af15</pingback:target>
      <dc:creator>Kate Gregory</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I have missed conferences for a long time now. I did a few online talks, but it's
not the same, not at all. This year, <a href="https://accu.org/conf-main/main/">ACCU </a>are
holding their conference as a hybrid event. This means while many will gather in Bristol
for all the networking, friendship, serendipity, and other benefits of being in person,
others will join us online. I think that is great: for many people traveling to a
conference is not an option -- for reasons of money, physical limitations, visa restrictions,
and so on -- and being able to attend online is terrific for anyone who can't travel
to the conference. For me, it feels safe now to travel. I have traveled twice during
the pandemic: to Singapore in Feb 2020, when it was underway but hadn't really reached
Canada yet, and to Singapore again in Nov 2020 for urgent family business, complete
with two 14 day quarantines and multiple tests. I'll be taking all possible precautions,
and I think it's going to be safe.<br /></p>
        <p>
The <a href="https://accu.digital-medium.co.uk/schedule/">schedule </a>has been published
and my talk will be Friday afternoon. I've booked my plane tickets and hotel room,
and am starting to build out the list of talks I plan to attend and people I want
to meet. By the way, Guy Davidson will also be there (doing a keynote, in fact) so
if you're hoping to get your copy of <a href="http://www.gregcons.com/KateBlog/BeautifulC30CoreGuidelinesForWritingCleanSafeAndFastCode.aspx">Beautiful
C++</a> signed, that's a good opportunity! I think there will probably be a table
for <a href="https://www.includecpp.org/conferences/attending-conferences/">#include
&lt;C++&gt;</a> but even if there isn't, watch our for our shirts and say hi! 
<br /></p>
        <p>
I'm going to talk on Abstraction Patterns: things I've learned to spot in code that
show a missing abstraction. Unlike the sort of "business objects" that you design
at the start of a greenfields project or a major expansion, you don't need deep business
knowledge and a long meeting with a business analyst to design these: the code will
show you what to do. Come and see what I've found and if it can help you.<br /></p>
        <p>
Kate<br /></p>
        <img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=23df3613-c7b4-4a07-91b8-16883d75af15" />
      </body>
      <title>Yes, I will speak at ACCU 2022 in person</title>
      <guid isPermaLink="false">http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=23df3613-c7b4-4a07-91b8-16883d75af15</guid>
      <link>http://www.gregcons.com/KateBlog/YesIWillSpeakAtACCU2022InPerson.aspx</link>
      <pubDate>Mon, 21 Feb 2022 22:00:30 GMT</pubDate>
      <description>&lt;p&gt;
I have missed conferences for a long time now. I did a few online talks, but it's
not the same, not at all. This year, &lt;a href="https://accu.org/conf-main/main/"&gt;ACCU &lt;/a&gt;are
holding their conference as a hybrid event. This means while many will gather in Bristol
for all the networking, friendship, serendipity, and other benefits of being in person,
others will join us online. I think that is great: for many people traveling to a
conference is not an option -- for reasons of money, physical limitations, visa restrictions,
and so on -- and being able to attend online is terrific for anyone who can't travel
to the conference. For me, it feels safe now to travel. I have traveled twice during
the pandemic: to Singapore in Feb 2020, when it was underway but hadn't really reached
Canada yet, and to Singapore again in Nov 2020 for urgent family business, complete
with two 14 day quarantines and multiple tests. I'll be taking all possible precautions,
and I think it's going to be safe.&lt;br&gt;
&lt;/p&gt;
&lt;p&gt;
The &lt;a href="https://accu.digital-medium.co.uk/schedule/"&gt;schedule &lt;/a&gt;has been published
and my talk will be Friday afternoon. I've booked my plane tickets and hotel room,
and am starting to build out the list of talks I plan to attend and people I want
to meet. By the way, Guy Davidson will also be there (doing a keynote, in fact) so
if you're hoping to get your copy of &lt;a href="http://www.gregcons.com/KateBlog/BeautifulC30CoreGuidelinesForWritingCleanSafeAndFastCode.aspx"&gt;Beautiful
C++&lt;/a&gt; signed, that's a good opportunity! I think there will probably be a table
for &lt;a href="https://www.includecpp.org/conferences/attending-conferences/"&gt;#include
&amp;lt;C++&amp;gt;&lt;/a&gt; but even if there isn't, watch our for our shirts and say hi! 
&lt;br&gt;
&lt;/p&gt;
&lt;p&gt;
I'm going to talk on Abstraction Patterns: things I've learned to spot in code that
show a missing abstraction. Unlike the sort of "business objects" that you design
at the start of a greenfields project or a major expansion, you don't need deep business
knowledge and a long meeting with a business analyst to design these: the code will
show you what to do. Come and see what I've found and if it can help you.&lt;br&gt;
&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=23df3613-c7b4-4a07-91b8-16883d75af15" /&gt;</description>
      <category>C++</category>
      <category>Speaking</category>
      <category>Travel</category>
    </item>
    <item>
      <trackback:ping>http://www.gregcons.com/KateBlog/Trackback.aspx?guid=e4ea85f9-db06-46ec-903c-c33dd5ad1606</trackback:ping>
      <pingback:server>http://www.gregcons.com/KateBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=e4ea85f9-db06-46ec-903c-c33dd5ad1606</pingback:target>
      <dc:creator>Kate Gregory</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
It's true! I helped to write a book! Another book! (Do not ask me what this brings
the total to, I truly do not know.) This one is about some of the <a href="https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines">C++
Core Guidelines</a>.<br /></p>
        <p>
          <img src="http://www.gregcons.com/KateBlog/content/binary/ShowCover.jpeg" border="0" />
        </p>
        <p>
Opinions vary on when it will be available: maybe the last week of 2021, maybe early
2022. You can <a href="https://www.informit.com/store/beautiful-c-plus-plus-30-core-guidelines-for-writing-9780137647842">pre-order
from the publisher</a> if you can't wait. There will be both an ebook and a paper
version.
</p>
        <p>
It's Guy Davidson who wrote it really; I have been a sort of editor and suggester
and inspirer most of the time. If you liked my CppCon 2017 talk, <a href="https://youtu.be/XkDEzfpdcSg">10
Core Guidelines You Need to Start Using Now</a>, you will love this book, and not
just because it's three times as many guidelines. Guy has included explanations of
the 30 guidelines we chose, along with plenty of examples, the occasional diagram,
and stories that put them into context and show you why it matters how you write certain
constructs and why you should avoid some aspects of the language entirely. We are
delighted that both Bjarne Stroustrup and Herb Sutter, who edit the Core Guidelines,
reviewed the book, gave us helpful comments on the text, and wrote a foreword and
an afterword for us as well.
</p>
        <p>
I learned things writing this. You will learn things reading it. It may well change
the way you approach code. That is one of our goals. The other is to get you trusting
the guidelines and dipping into them when you have decisions to make about how to
implement something. If these 30 are useful and good (and they are!) then imagine
what else is waiting for you when you're ready!
</p>
        <p>
 Please spread the word far and wide.<br /></p>
        <p>
Kate
</p>
        <p>
ps: the full title is quite a mouthful. We're thinking of RainbowFlower as a nickname
for the book. What do you think?<br /></p>
        <img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=e4ea85f9-db06-46ec-903c-c33dd5ad1606" />
      </body>
      <title>Beautiful C++: 30 Core Guidelines for Writing Clean, Safe, and Fast Code</title>
      <guid isPermaLink="false">http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=e4ea85f9-db06-46ec-903c-c33dd5ad1606</guid>
      <link>http://www.gregcons.com/KateBlog/BeautifulC30CoreGuidelinesForWritingCleanSafeAndFastCode.aspx</link>
      <pubDate>Fri, 05 Nov 2021 18:40:38 GMT</pubDate>
      <description>&lt;p&gt;
It's true! I helped to write a book! Another book! (Do not ask me what this brings
the total to, I truly do not know.) This one is about some of the &lt;a href="https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines"&gt;C++
Core Guidelines&lt;/a&gt;.&lt;br&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://www.gregcons.com/KateBlog/content/binary/ShowCover.jpeg" border="0"&gt;
&lt;/p&gt;
&lt;p&gt;
Opinions vary on when it will be available: maybe the last week of 2021, maybe early
2022. You can &lt;a href="https://www.informit.com/store/beautiful-c-plus-plus-30-core-guidelines-for-writing-9780137647842"&gt;pre-order
from the publisher&lt;/a&gt; if you can't wait. There will be both an ebook and a paper
version.
&lt;/p&gt;
&lt;p&gt;
It's Guy Davidson who wrote it really; I have been a sort of editor and suggester
and inspirer most of the time. If you liked my CppCon 2017 talk, &lt;a href="https://youtu.be/XkDEzfpdcSg"&gt;10
Core Guidelines You Need to Start Using Now&lt;/a&gt;, you will love this book, and not
just because it's three times as many guidelines. Guy has included explanations of
the 30 guidelines we chose, along with plenty of examples, the occasional diagram,
and stories that put them into context and show you why it matters how you write certain
constructs and why you should avoid some aspects of the language entirely. We are
delighted that both Bjarne Stroustrup and Herb Sutter, who edit the Core Guidelines,
reviewed the book, gave us helpful comments on the text, and wrote a foreword and
an afterword for us as well.
&lt;/p&gt;
&lt;p&gt;
I learned things writing this. You will learn things reading it. It may well change
the way you approach code. That is one of our goals. The other is to get you trusting
the guidelines and dipping into them when you have decisions to make about how to
implement something. If these 30 are useful and good (and they are!) then imagine
what else is waiting for you when you're ready!
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;Please spread the word far and wide.&lt;br&gt;
&lt;/p&gt;
&lt;p&gt;
Kate
&lt;/p&gt;
&lt;p&gt;
ps: the full title is quite a mouthful. We're thinking of RainbowFlower as a nickname
for the book. What do you think?&lt;br&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=e4ea85f9-db06-46ec-903c-c33dd5ad1606" /&gt;</description>
      <category>C++</category>
      <category>C++ Guidelines</category>
    </item>
    <item>
      <trackback:ping>http://www.gregcons.com/KateBlog/Trackback.aspx?guid=c0eaac36-d45a-4141-a199-7b531ec2a0a1</trackback:ping>
      <pingback:server>http://www.gregcons.com/KateBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=c0eaac36-d45a-4141-a199-7b531ec2a0a1</pingback:target>
      <dc:creator>Kate Gregory</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
This summer has featured a lot of personal busy-ness and not a lot of work things
to announce. One nice thing that has happened is my renewal as an MVP.
</p>
        <p>
          <img src="http://www.gregcons.com/KateBlog/content/binary/20210828_115121 cropped.jpg" width="600" border="0" />
        </p>
        <p>
According to various "kate bio.txt" files kicking around my hard drive :-), I was
first awarded in January 2004. So it will be a while yet until the blue 20 year marker
arrives. The program has changed a lot over the years, but it's still relevant to
me and a great source of information from the Visual C++ team.
</p>
        <p>
Kate<br /></p>
        <p>
        </p>
        <img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=c0eaac36-d45a-4141-a199-7b531ec2a0a1" />
      </body>
      <title>MVP Renewal</title>
      <guid isPermaLink="false">http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=c0eaac36-d45a-4141-a199-7b531ec2a0a1</guid>
      <link>http://www.gregcons.com/KateBlog/MVPRenewal.aspx</link>
      <pubDate>Tue, 31 Aug 2021 21:12:05 GMT</pubDate>
      <description>&lt;p&gt;
This summer has featured a lot of personal busy-ness and not a lot of work things
to announce. One nice thing that has happened is my renewal as an MVP.
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://www.gregcons.com/KateBlog/content/binary/20210828_115121 cropped.jpg" width="600" border="0"&gt;
&lt;/p&gt;
&lt;p&gt;
According to various "kate bio.txt" files kicking around my hard drive :-), I was
first awarded in January 2004. So it will be a while yet until the blue 20 year marker
arrives. The program has changed a lot over the years, but it's still relevant to
me and a great source of information from the Visual C++ team.
&lt;/p&gt;
&lt;p&gt;
Kate&lt;br&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=c0eaac36-d45a-4141-a199-7b531ec2a0a1" /&gt;</description>
      <category>C++</category>
      <category>MVP</category>
    </item>
    <item>
      <trackback:ping>http://www.gregcons.com/KateBlog/Trackback.aspx?guid=6aed9051-6a18-4243-9e56-ccbf203ff09f</trackback:ping>
      <pingback:server>http://www.gregcons.com/KateBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=6aed9051-6a18-4243-9e56-ccbf203ff09f</pingback:target>
      <dc:creator>Kate Gregory</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
In April, I did my Naming is Hard talk at ACCU 2021. I'm getting better at doing talks
online and handling interactions, at least I think I am :-). The <a href="https://youtu.be/ZDluHz-ybPE">recording </a>is
now online, so if you weren't at the conference, you can watch the talk. Being there
is still better, even when it's digital - being able to chat to other attendees and
the presenter is always going to be better than just watching a recording. 
<br /></p>
        <p>
I added the talk to my youtube<a href="https://www.youtube.com/playlist?list=PLsAtvvJ8KXBT-Tx67H5P3TgkiW6llnoBE"> playlist
of conference talks</a>, so if you like that one and want some more, take a look!
</p>
        <p>
Kate<br /></p>
        <img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=6aed9051-6a18-4243-9e56-ccbf203ff09f" />
      </body>
      <title>My ACCU talk recording</title>
      <guid isPermaLink="false">http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=6aed9051-6a18-4243-9e56-ccbf203ff09f</guid>
      <link>http://www.gregcons.com/KateBlog/MyACCUTalkRecording.aspx</link>
      <pubDate>Tue, 18 May 2021 00:19:53 GMT</pubDate>
      <description>&lt;p&gt;
In April, I did my Naming is Hard talk at ACCU 2021. I'm getting better at doing talks
online and handling interactions, at least I think I am :-). The &lt;a href="https://youtu.be/ZDluHz-ybPE"&gt;recording &lt;/a&gt;is
now online, so if you weren't at the conference, you can watch the talk. Being there
is still better, even when it's digital - being able to chat to other attendees and
the presenter is always going to be better than just watching a recording. 
&lt;br&gt;
&lt;/p&gt;
&lt;p&gt;
I added the talk to my youtube&lt;a href="https://www.youtube.com/playlist?list=PLsAtvvJ8KXBT-Tx67H5P3TgkiW6llnoBE"&gt; playlist
of conference talks&lt;/a&gt;, so if you like that one and want some more, take a look!
&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=6aed9051-6a18-4243-9e56-ccbf203ff09f" /&gt;</description>
      <category>C++</category>
      <category>Mentoring</category>
      <category>Seen and Recommended</category>
      <category>Speaking</category>
    </item>
    <item>
      <trackback:ping>http://www.gregcons.com/KateBlog/Trackback.aspx?guid=4fbbc206-cc58-48ac-b4af-1f5ffaa6470f</trackback:ping>
      <pingback:server>http://www.gregcons.com/KateBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=4fbbc206-cc58-48ac-b4af-1f5ffaa6470f</pingback:target>
      <dc:creator>Kate Gregory</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
At the start of the lockdown, Pluralsight made its huge curriculum free to help those
who were suddenly needing new skills to find a new job during the pandemic. I saw
a huge number of views of my C++ course for those who don't already know how to program.
It was ironic, because I was busy updating that course, a process that is finally
complete.
</p>
        <p>
Please <a href="https://app.pluralsight.com/library/courses/learn-program-cplusplus">check
it out</a> on Pluralsight. The new course is called Learn to Program with C++. (The
similar-but-not-the-same Learn How to Program with C++ is the old one.) Here's what
I did to the 6+ year old course:
</p>
        <ul>
          <li>
redid all the demos in the latest compilers (Visual Studio Community Edition on Windows;
Clang on Ubuntu and Mac)<br /></li>
          <li>
added more Ubuntu and Mac versions of demos and tested EVERYTHING on all the compilers</li>
          <li>
moved content to slides and then just demonstrated it in the demo, instead of trying
to explain concepts during long demos where there's no typing or other "demo" action</li>
          <li>
took a more "modern C++" approach wherever I could</li>
          <li>
improved the names in my sample code, trying not to have a,b,c and the like if I could</li>
          <li>
added some explanation of "make" and removed rather a lot of "how to get Visual Studio
to be nicer" because it does that itself now<br /></li>
        </ul>
        <p>
Plus I just generally tweaked samples, slides, and demos throughout the whole course
based on comments I've had from new learners since the original publication. It's
a better course.
</p>
        <p>
People often say that C++ cannot possibly be taught as a first language, but that's
wrong. Modern C++ is not that hard. This course is a little over 5 hours long and
covers most of the syntax and punctuation you need, functions, classes, type safety,
using templates from the STL like vector and string, and even touches on const and
RAII. If you want to learn C++ for whatever reason, don't let someone else tell you
that you must go and learn some "scratch" or starter language first before coming
back to what you really want to learn.
</p>
        <p>
If you already know one programming language, and concepts like "if" or "loop" then
you don't need this course. <a href="https://app.pluralsight.com/library/courses/cplusplus-fundamentals-c17/table-of-contents">C++
Fundamentals Including C++ 17</a> is for you. It covers even more syntax, punctuation,
library, and design aspects of the library. 
</p>
        <p>
As always, if you don't have a Pluralsight subscription, you can get a ten day trial
by clicking the big white square on the blue sidebar of this blog. Enjoy!
</p>
        <p>
        </p>
        <p>
Kate
</p>
        <img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=4fbbc206-cc58-48ac-b4af-1f5ffaa6470f" />
      </body>
      <title>My Updated Course is Live! C++ for Beginners</title>
      <guid isPermaLink="false">http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=4fbbc206-cc58-48ac-b4af-1f5ffaa6470f</guid>
      <link>http://www.gregcons.com/KateBlog/MyUpdatedCourseIsLiveCForBeginners.aspx</link>
      <pubDate>Thu, 06 Aug 2020 17:50:16 GMT</pubDate>
      <description>&lt;p&gt;
At the start of the lockdown, Pluralsight made its huge curriculum free to help those
who were suddenly needing new skills to find a new job during the pandemic. I saw
a huge number of views of my C++ course for those who don't already know how to program.
It was ironic, because I was busy updating that course, a process that is finally
complete.
&lt;/p&gt;
&lt;p&gt;
Please &lt;a href="https://app.pluralsight.com/library/courses/learn-program-cplusplus"&gt;check
it out&lt;/a&gt; on Pluralsight. The new course is called Learn to Program with C++. (The
similar-but-not-the-same Learn How to Program with C++ is the old one.) Here's what
I did to the 6+ year old course:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
redid all the demos in the latest compilers (Visual Studio Community Edition on Windows;
Clang on Ubuntu and Mac)&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;
added more Ubuntu and Mac versions of demos and tested EVERYTHING on all the compilers&lt;/li&gt;
&lt;li&gt;
moved content to slides and then just demonstrated it in the demo, instead of trying
to explain concepts during long demos where there's no typing or other "demo" action&lt;/li&gt;
&lt;li&gt;
took a more "modern C++" approach wherever I could&lt;/li&gt;
&lt;li&gt;
improved the names in my sample code, trying not to have a,b,c and the like if I could&lt;/li&gt;
&lt;li&gt;
added some explanation of "make" and removed rather a lot of "how to get Visual Studio
to be nicer" because it does that itself now&lt;br&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Plus I just generally tweaked samples, slides, and demos throughout the whole course
based on comments I've had from new learners since the original publication. It's
a better course.
&lt;/p&gt;
&lt;p&gt;
People often say that C++ cannot possibly be taught as a first language, but that's
wrong. Modern C++ is not that hard. This course is a little over 5 hours long and
covers most of the syntax and punctuation you need, functions, classes, type safety,
using templates from the STL like vector and string, and even touches on const and
RAII. If you want to learn C++ for whatever reason, don't let someone else tell you
that you must go and learn some "scratch" or starter language first before coming
back to what you really want to learn.
&lt;/p&gt;
&lt;p&gt;
If you already know one programming language, and concepts like "if" or "loop" then
you don't need this course. &lt;a href="https://app.pluralsight.com/library/courses/cplusplus-fundamentals-c17/table-of-contents"&gt;C++
Fundamentals Including C++ 17&lt;/a&gt; is for you. It covers even more syntax, punctuation,
library, and design aspects of the library. 
&lt;/p&gt;
&lt;p&gt;
As always, if you don't have a Pluralsight subscription, you can get a ten day trial
by clicking the big white square on the blue sidebar of this blog. Enjoy!
&lt;/p&gt;
&lt;p&gt;
&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=4fbbc206-cc58-48ac-b4af-1f5ffaa6470f" /&gt;</description>
      <category>C++</category>
      <category>Seen and Recommended</category>
    </item>
    <item>
      <trackback:ping>http://www.gregcons.com/KateBlog/Trackback.aspx?guid=8fb90aca-fa32-4b7a-bf62-74b1d6ed7ce1</trackback:ping>
      <pingback:server>http://www.gregcons.com/KateBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=8fb90aca-fa32-4b7a-bf62-74b1d6ed7ce1</pingback:target>
      <dc:creator>Kate Gregory</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <div>This year is very strange, but conferences are still happening. And they aren't
all free, either. Perhaps there's a conference you'd like to go to, and being online
makes it almost feasible for you, but you can't afford the conference fee? If you're
a member of an under-represented group in C++, you might win a scholarship to <a href="https://cpponsea.uk/">C++
on Sea</a> in July or <a href="https://cppeurope.com/">CppEurope</a> in just two weeks.
(I'm speaking at C++ on Sea, so if you win, you'll hear my talk.) The scholarships
are arranged by <a href="https://www.includecpp.org">#include &lt;C++&gt;</a> and <a href="https://www.includecpp.org/conferences/scholarships/">the
application process</a> is pretty easy. Please let us know a little about your background:
perhaps you're part of a gender minority,  a racial minority, or in some way
you feel that there are less people like you in C++ than there are in the world. If
you work somewhere that pays to send you to conferences, this isn't the program for
you: this is for people who maybe aren't working, or who are working somewhere that
sends other team members to conferences, but not you. Your application should show
us that, so we can decide to send you.
</div>
        <div>
          <br />
        </div>
        <div>More details, including a list of conferences we've sent applicants to in the
past, and testimonials from recipients, are on <a href="https://www.includecpp.org/conferences/scholarships/">the
scholarship page</a>. 
<br /></div>
        <div>
          <br />
        </div>
        <div>Want to contribute? We're ok for these two conferences. But when face to face
conferences start again, we'll be raising money for admissions, plane tickets, hotel
rooms, and all the other costs that keep people away from the life changing and career
changing benefits of conferences. Remember our site for when that is necessary.
</div>
        <div>
          <br />
        </div>
        <div>Kate<br /></div>
        <p>
        </p>
        <img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=8fb90aca-fa32-4b7a-bf62-74b1d6ed7ce1" />
      </body>
      <title>Scholarships for Online C++ Conferences</title>
      <guid isPermaLink="false">http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=8fb90aca-fa32-4b7a-bf62-74b1d6ed7ce1</guid>
      <link>http://www.gregcons.com/KateBlog/ScholarshipsForOnlineCConferences.aspx</link>
      <pubDate>Tue, 09 Jun 2020 22:22:16 GMT</pubDate>
      <description>&lt;div&gt;This year is very strange, but conferences are still happening. And they aren't
all free, either. Perhaps there's a conference you'd like to go to, and being online
makes it almost feasible for you, but you can't afford the conference fee? If you're
a member of an under-represented group in C++, you might win a scholarship to &lt;a href="https://cpponsea.uk/"&gt;C++
on Sea&lt;/a&gt; in July or &lt;a href="https://cppeurope.com/"&gt;CppEurope&lt;/a&gt; in just two weeks.
(I'm speaking at C++ on Sea, so if you win, you'll hear my talk.) The scholarships
are arranged by &lt;a href="https://www.includecpp.org"&gt;#include &amp;lt;C++&amp;gt;&lt;/a&gt; and &lt;a href="https://www.includecpp.org/conferences/scholarships/"&gt;the
application process&lt;/a&gt; is pretty easy. Please let us know a little about your background:
perhaps you're part of a gender minority,&amp;nbsp; a racial minority, or in some way
you feel that there are less people like you in C++ than there are in the world. If
you work somewhere that pays to send you to conferences, this isn't the program for
you: this is for people who maybe aren't working, or who are working somewhere that
sends other team members to conferences, but not you. Your application should show
us that, so we can decide to send you.
&lt;/div&gt;
&lt;div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;div&gt;More details, including a list of conferences we've sent applicants to in the
past, and testimonials from recipients, are on &lt;a href="https://www.includecpp.org/conferences/scholarships/"&gt;the
scholarship page&lt;/a&gt;. 
&lt;br&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;div&gt;Want to contribute? We're ok for these two conferences. But when face to face
conferences start again, we'll be raising money for admissions, plane tickets, hotel
rooms, and all the other costs that keep people away from the life changing and career
changing benefits of conferences. Remember our site for when that is necessary.
&lt;/div&gt;
&lt;div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;div&gt;Kate&lt;br&gt;
&lt;/div&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=8fb90aca-fa32-4b7a-bf62-74b1d6ed7ce1" /&gt;</description>
      <category>C++</category>
      <category>Consulting Life</category>
      <category>Seen and Recommended</category>
      <category>Speaking</category>
    </item>
    <item>
      <trackback:ping>http://www.gregcons.com/KateBlog/Trackback.aspx?guid=9bf21940-cf06-4e9e-afb8-e1d73371212f</trackback:ping>
      <pingback:server>http://www.gregcons.com/KateBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=9bf21940-cf06-4e9e-afb8-e1d73371212f</pingback:target>
      <dc:creator>Kate Gregory</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Lately a lot of people have been asking me for help as they write C++ code. I’m usually
happy and able to help. There are times, though, when I either cannot help, or choose
not to help. I thought it might be helpful to explain some of these a little. It’s
quite likely that other members of the community have a similar set of guidelines
in their heads for when they do and don’t help people with code.
</p>
        <p>
Warning: this is long. I think it's worth reading it all. You want a <strong>TL;DR</strong>?
It’s this: <strong>if you want free mentoring and consulting from successful people,
you can have it!</strong> All you need to do is ask. But if you expect your helpers
to do most of the work in helping you, and to take instruction and direction from
you, you’re going to get a lot less help than if you know how to be helped effectively.
</p>
        <p>
The first choice is where and how you ask. People often email me, message me on LinkedIn,
DM me on Twitter, DM me on the <a href="https://www.includecpp.org/">#include &lt;C++&gt;</a> Discord,
and so on hoping to get personalized, instant, one-on-one help from me. That’s not
a good use of my time. I prefer to help in places where others will see the question
and the answer. That helps more people. It also enables more people to help – so it
produces better advice as well as helping those people learn and grow. Often, I learn
from the times when other people chime in. So I encourage you to post on StackOverflow
(if you have the sort of just-one-question, just-one-right-answer problem that fits
there), or on the <a href="https://www.includecpp.org/discord/">#include &lt;C++&gt;
Discord</a>, or some other public place where a number of people can see the question
and the answer over time.
</p>
        <p>
The rest of the issues have to do with how much work the person expects me to do,
or how much they save me. Think about how you ask the very first thing you ask. Compare
“here is a zip of all the files in my project can you tell me what’s wrong with it?”
to “here is a link to an online compiler (Godbolt, wandbox, etc) showing a compiler
error on line 43 that I don’t understand. Can you tell me how to fix that error?”
Expecting someone to install things, trawl through multiple files, guess your question,
and then solve your problem and explain it all to you is really too much. At least
tell people what your problem is! Often people ask for help saying something like
“it’s not working” or “what’s wrong with this?” and I don’t even know if it’s a compiler
error or a runtime error or running fine but calculating the wrong answer. So before
you post on the discord, for example, try to have a single crisp question, not just
“help, it’s not working.” 
</p>
        <ul>
          <li>
Show us your code, and your errors. And not as screenshots! You can copy the code
into an online compiler like Godbolt or Wandbox, or if it’s less than 20 lines or
so, paste it into the chat window – but please learn how to <a href="https://support.discord.com/hc/en-us/articles/210298617-Markdown-Text-101-Chat-Formatting-Bold-Italic-Underline-">format
it as code</a> when you do that. Copy and paste the errors as text. That makes them
much easier to read, and lets us copy and paste parts of them while explaining things
to you. If you can’t show your real code because of how big it is or because it’s
work-related, create a tiny example that shows the same problem and show us that. <a href="https://stackoverflow.com/help/minimal-reproducible-example">Stack
Overflow has some tips</a> on how to do that.  Whatever you do, do not free-type
some code into the chat window that you think is the same as your problem, and then
whenever people point out missing semi colons or undeclared variables, reply “oh yeah,
that’s not really my code it’s just something I typed to give you the general idea.”
Compilers (and runtimes) are picky and asking for help with something that’s vaguely
like your real code (but not really) is pointless.</li>
        </ul>
        <p>
Now let’s assume you manage to get a conversation going with someone who is trying
to help you. They solved that compiler error, for example, but now you have another
one. As part of this process, I often make suggestions to people that they reject.
I think they believe the suggestions are to make things easier for themselves in the
long run, because they say things like “I can do that once it’s working.” I then have
to spend a lot of effort explaining that I want them to do these things so that I
can help them get it working. These suggestions include:
</p>
        <ul>
          <li>
Write good variable (and function) names. If your variables are all called i, n, c,
r, s, and so on – I don’t know what they represent. If I ask you to change those to
words like next, rate, total, and so on, or to words you think of yourself, that’s
because I can’t understand your code (I don’t know the problem you’re trying to solve)
without some help. Good names aren’t a someday thing that you paint over working code
once it’s all good. They are how you make code other people can read. And you’re asking
me to read this code. Make it readable.</li>
          <li>
Use a debugger. When I ask “have you looked in the debugger to see the value of a
before the loop?” an answer of “I don’t know how to use the debugger and I don’t have
time to learn that today” is a great way to end our conversation. Real programmers
use the debugger. We don’t have some magical compiler-simulator in our heads that
can read code and tell you if it compiles or not, and we don’t have a magical runtime-simulator
either. Sure, maybe I can tell at a glance that a is 0 before the loop and that’s
why it’s not working, but in that case I would tell you so. It’s more likely that
I want you to quickly check and see if it’s 0 or not. When you refuse to debug, you’re
making it so much harder to help you. You need to learn to use whatever debugger is
available to you, and you will probably save enough time today to make up for the
time it takes to learn it.</li>
          <li>
Add some tests. You don’t have to go learn a whole unit testing framework. But if
you’re writing a function to do whatever, work out by hand what it does for simple
values, and write a test harness that passes it those simple values. Then you can
debug the test harness and see what the function returns and confirm whether or not
it works for simple values. Whether you’re reversing a string in place, calculating
the Fibonacci sequence, calculating sums of things, whatever, you should be able to
think up simple test cases and test your code with them. And eventually, you should
be writing tests as you write your code. It’s a good habit you can build now.</li>
          <li>
Break up big things. You don’t have to embrace full OO or write functional programs,
but don’t give me 1000 lines of code and ask me to load it into my head. Write some
functions. Heck, throw in some comments and some blank lines. Show the structure of
your code so it’s not a wall of text.</li>
        </ul>
Some other good behaviours that will take you a long way:<p></p><ul><li>
Try the substitutions people tell you to try. A lot of times, people who are having
a hard time don’t want to learn a new thing. I run into that situation all the time
myself. I’m already frustrated and I’ve spent longer than I meant to and I can’t understand
any of it, I don’t want you to tell me to go learn yet another thing right now. I
have gained some wisdom over the years though, and it includes this: sometimes jettisoning
all that half-understood not-really-working mess and doing something simpler is the
best way forward. If someone tells you that vector would be better here, and offers
you a few lines of code to use, just digging in your heels and refusing to try it
isn’t going to lead you into learning. If you’ve got a problem because you’re trying
to manage memory yourself by hand but you forgot about copying and so on, then using
a smart pointer, or dropping the pointers altogether and using an object on the stack,
is going to make a whole pile of work just fall away. The person advising you to try
this knows how much effort it will save. You don’t, that’s why you came for help.
It’s really frustrating to see a beginner insist on doing something the hard way (for
no benefit), do it wrong, and refuse to accept any help other than “here is the precise
and exact code to do that thing the hard way.” I don’t want to do things the hard
way any more: why would I type out all the code for you?</li><li>
Try things that don’t matter to you, if the person who is helping you tells you that
your code is harder to read the way you have it. Things like initializing member variables
in a constructor with the : syntax, not between the braces, or adding some using statements
– these may not matter to you, but making things too hard for a busy helper may mean
that helper is too busy to help today. Or ever. I don’t want to teach you bad habits,
I don’t want to teach you to “pretty things up” only once it’s working, and I don’t
want to exhaust myself reading difficult code to spare you the trouble of doing the
right thing. Also, when a person asks for advice but never takes any of it because
they’re sure it’s not actually relevant to their problem, eventually the advice-giver
will stop giving it. It’s pointless.</li><li>
Write your own code. If I tell you “the problem is that you’re not initializing x”
don’t ask me to edit your code for you or paste in the new version of the function
or whatever. You need to understand what you’re doing and that comes from writing
the code yourself. If you don’t understand how to fix a problem that someone has told
you about, ask them “how do I fix that?” If you can’t understand their answer, say
“I don’t know what [whatever] is, can you explain it or show me?” Don’t just ask “what
would that line of code look like?” That feels like you’re asking me to even do the
typing for you.</li><li>
Work with whoever is talking to you. Maybe when you first ask, one person has a couple
of thoughts, and those are good, but while you’re changing your code to see if that
works, someone else chimes in. That’s great. It’s a group chat. Don’t tell them that
you’re working with the first person or anything like that to reject their help. Consider
all the suggestions you get. If you’re talking to someone and then they stop, that’s
cool too. Many people pop into chat for 5 or 10 minutes waiting for a conference call
to start, or while they’re eating lunch, and don’t stay long. People get called away
from their keyboards. Don’t start pinging the person trying to bring them back or
ask if they have any more thoughts or saying you’re still stuck. You can tell the
room or channel as a whole that you’re still stuck. Maybe someone else will have some
ideas. Your problem may end up solved over an hour or so with three different people.
That’s a win! 
</li></ul><p>
I know, that’s a lot of advice. Thing is, you can get a lot of help from strangers
on the internet, if you ask the right way. If you ask the wrong way, most people will
just shrug and say “looks like you have a problem” and move along. They won’t even
tell you why they’re not helping you! To get the marvelous free help, and to truly
join the community, you have to put in a little effort. Trust me, it’s worth it!
</p><p>
Kate<br /></p><img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=9bf21940-cf06-4e9e-afb8-e1d73371212f" /></body>
      <title>How to ask for C++ coding help</title>
      <guid isPermaLink="false">http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=9bf21940-cf06-4e9e-afb8-e1d73371212f</guid>
      <link>http://www.gregcons.com/KateBlog/HowToAskForCCodingHelp.aspx</link>
      <pubDate>Thu, 28 May 2020 20:26:40 GMT</pubDate>
      <description>&lt;p&gt;
Lately a lot of people have been asking me for help as they write C++ code. I’m usually
happy and able to help. There are times, though, when I either cannot help, or choose
not to help. I thought it might be helpful to explain some of these a little. It’s
quite likely that other members of the community have a similar set of guidelines
in their heads for when they do and don’t help people with code.
&lt;/p&gt;
&lt;p&gt;
Warning: this is long. I think it's worth reading it all. You want a &lt;strong&gt;TL;DR&lt;/strong&gt;?
It’s this: &lt;strong&gt;if you want free mentoring and consulting from successful people,
you can have it!&lt;/strong&gt; All you need to do is ask. But if you expect your helpers
to do most of the work in helping you, and to take instruction and direction from
you, you’re going to get a lot less help than if you know how to be helped effectively.
&lt;/p&gt;
&lt;p&gt;
The first choice is where and how you ask. People often email me, message me on LinkedIn,
DM me on Twitter, DM me on the &lt;a href="https://www.includecpp.org/"&gt;#include &amp;lt;C++&amp;gt;&lt;/a&gt; Discord,
and so on hoping to get personalized, instant, one-on-one help from me. That’s not
a good use of my time. I prefer to help in places where others will see the question
and the answer. That helps more people. It also enables more people to help – so it
produces better advice as well as helping those people learn and grow. Often, I learn
from the times when other people chime in. So I encourage you to post on StackOverflow
(if you have the sort of just-one-question, just-one-right-answer problem that fits
there), or on the &lt;a href="https://www.includecpp.org/discord/"&gt;#include &amp;lt;C++&amp;gt;
Discord&lt;/a&gt;, or some other public place where a number of people can see the question
and the answer over time.
&lt;/p&gt;
&lt;p&gt;
The rest of the issues have to do with how much work the person expects me to do,
or how much they save me. Think about how you ask the very first thing you ask. Compare
“here is a zip of all the files in my project can you tell me what’s wrong with it?”
to “here is a link to an online compiler (Godbolt, wandbox, etc) showing a compiler
error on line 43 that I don’t understand. Can you tell me how to fix that error?”
Expecting someone to install things, trawl through multiple files, guess your question,
and then solve your problem and explain it all to you is really too much. At least
tell people what your problem is! Often people ask for help saying something like
“it’s not working” or “what’s wrong with this?” and I don’t even know if it’s a compiler
error or a runtime error or running fine but calculating the wrong answer. So before
you post on the discord, for example, try to have a single crisp question, not just
“help, it’s not working.” 
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
Show us your code, and your errors. And not as screenshots! You can copy the code
into an online compiler like Godbolt or Wandbox, or if it’s less than 20 lines or
so, paste it into the chat window – but please learn how to &lt;a href="https://support.discord.com/hc/en-us/articles/210298617-Markdown-Text-101-Chat-Formatting-Bold-Italic-Underline-"&gt;format
it as code&lt;/a&gt; when you do that. Copy and paste the errors as text. That makes them
much easier to read, and lets us copy and paste parts of them while explaining things
to you. If you can’t show your real code because of how big it is or because it’s
work-related, create a tiny example that shows the same problem and show us that. &lt;a href="https://stackoverflow.com/help/minimal-reproducible-example"&gt;Stack
Overflow has some tips&lt;/a&gt; on how to do that.&amp;nbsp; Whatever you do, do not free-type
some code into the chat window that you think is the same as your problem, and then
whenever people point out missing semi colons or undeclared variables, reply “oh yeah,
that’s not really my code it’s just something I typed to give you the general idea.”
Compilers (and runtimes) are picky and asking for help with something that’s vaguely
like your real code (but not really) is pointless.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Now let’s assume you manage to get a conversation going with someone who is trying
to help you. They solved that compiler error, for example, but now you have another
one. As part of this process, I often make suggestions to people that they reject.
I think they believe the suggestions are to make things easier for themselves in the
long run, because they say things like “I can do that once it’s working.” I then have
to spend a lot of effort explaining that I want them to do these things so that I
can help them get it working. These suggestions include:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
Write good variable (and function) names. If your variables are all called i, n, c,
r, s, and so on – I don’t know what they represent. If I ask you to change those to
words like next, rate, total, and so on, or to words you think of yourself, that’s
because I can’t understand your code (I don’t know the problem you’re trying to solve)
without some help. Good names aren’t a someday thing that you paint over working code
once it’s all good. They are how you make code other people can read. And you’re asking
me to read this code. Make it readable.&lt;/li&gt;
&lt;li&gt;
Use a debugger. When I ask “have you looked in the debugger to see the value of a
before the loop?” an answer of “I don’t know how to use the debugger and I don’t have
time to learn that today” is a great way to end our conversation. Real programmers
use the debugger. We don’t have some magical compiler-simulator in our heads that
can read code and tell you if it compiles or not, and we don’t have a magical runtime-simulator
either. Sure, maybe I can tell at a glance that a is 0 before the loop and that’s
why it’s not working, but in that case I would tell you so. It’s more likely that
I want you to quickly check and see if it’s 0 or not. When you refuse to debug, you’re
making it so much harder to help you. You need to learn to use whatever debugger is
available to you, and you will probably save enough time today to make up for the
time it takes to learn it.&lt;/li&gt;
&lt;li&gt;
Add some tests. You don’t have to go learn a whole unit testing framework. But if
you’re writing a function to do whatever, work out by hand what it does for simple
values, and write a test harness that passes it those simple values. Then you can
debug the test harness and see what the function returns and confirm whether or not
it works for simple values. Whether you’re reversing a string in place, calculating
the Fibonacci sequence, calculating sums of things, whatever, you should be able to
think up simple test cases and test your code with them. And eventually, you should
be writing tests as you write your code. It’s a good habit you can build now.&lt;/li&gt;
&lt;li&gt;
Break up big things. You don’t have to embrace full OO or write functional programs,
but don’t give me 1000 lines of code and ask me to load it into my head. Write some
functions. Heck, throw in some comments and some blank lines. Show the structure of
your code so it’s not a wall of text.&lt;/li&gt;
&lt;/ul&gt;
Some other good behaviours that will take you a long way:&lt;p&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
Try the substitutions people tell you to try. A lot of times, people who are having
a hard time don’t want to learn a new thing. I run into that situation all the time
myself. I’m already frustrated and I’ve spent longer than I meant to and I can’t understand
any of it, I don’t want you to tell me to go learn yet another thing right now. I
have gained some wisdom over the years though, and it includes this: sometimes jettisoning
all that half-understood not-really-working mess and doing something simpler is the
best way forward. If someone tells you that vector would be better here, and offers
you a few lines of code to use, just digging in your heels and refusing to try it
isn’t going to lead you into learning. If you’ve got a problem because you’re trying
to manage memory yourself by hand but you forgot about copying and so on, then using
a smart pointer, or dropping the pointers altogether and using an object on the stack,
is going to make a whole pile of work just fall away. The person advising you to try
this knows how much effort it will save. You don’t, that’s why you came for help.
It’s really frustrating to see a beginner insist on doing something the hard way (for
no benefit), do it wrong, and refuse to accept any help other than “here is the precise
and exact code to do that thing the hard way.” I don’t want to do things the hard
way any more: why would I type out all the code for you?&lt;/li&gt;
&lt;li&gt;
Try things that don’t matter to you, if the person who is helping you tells you that
your code is harder to read the way you have it. Things like initializing member variables
in a constructor with the : syntax, not between the braces, or adding some using statements
– these may not matter to you, but making things too hard for a busy helper may mean
that helper is too busy to help today. Or ever. I don’t want to teach you bad habits,
I don’t want to teach you to “pretty things up” only once it’s working, and I don’t
want to exhaust myself reading difficult code to spare you the trouble of doing the
right thing. Also, when a person asks for advice but never takes any of it because
they’re sure it’s not actually relevant to their problem, eventually the advice-giver
will stop giving it. It’s pointless.&lt;/li&gt;
&lt;li&gt;
Write your own code. If I tell you “the problem is that you’re not initializing x”
don’t ask me to edit your code for you or paste in the new version of the function
or whatever. You need to understand what you’re doing and that comes from writing
the code yourself. If you don’t understand how to fix a problem that someone has told
you about, ask them “how do I fix that?” If you can’t understand their answer, say
“I don’t know what [whatever] is, can you explain it or show me?” Don’t just ask “what
would that line of code look like?” That feels like you’re asking me to even do the
typing for you.&lt;/li&gt;
&lt;li&gt;
Work with whoever is talking to you. Maybe when you first ask, one person has a couple
of thoughts, and those are good, but while you’re changing your code to see if that
works, someone else chimes in. That’s great. It’s a group chat. Don’t tell them that
you’re working with the first person or anything like that to reject their help. Consider
all the suggestions you get. If you’re talking to someone and then they stop, that’s
cool too. Many people pop into chat for 5 or 10 minutes waiting for a conference call
to start, or while they’re eating lunch, and don’t stay long. People get called away
from their keyboards. Don’t start pinging the person trying to bring them back or
ask if they have any more thoughts or saying you’re still stuck. You can tell the
room or channel as a whole that you’re still stuck. Maybe someone else will have some
ideas. Your problem may end up solved over an hour or so with three different people.
That’s a win! 
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
I know, that’s a lot of advice. Thing is, you can get a lot of help from strangers
on the internet, if you ask the right way. If you ask the wrong way, most people will
just shrug and say “looks like you have a problem” and move along. They won’t even
tell you why they’re not helping you! To get the marvelous free help, and to truly
join the community, you have to put in a little effort. Trust me, it’s worth it!
&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=9bf21940-cf06-4e9e-afb8-e1d73371212f" /&gt;</description>
      <category>C++</category>
      <category>Consulting Life</category>
      <category>Mentoring</category>
    </item>
    <item>
      <trackback:ping>http://www.gregcons.com/KateBlog/Trackback.aspx?guid=36437e5e-52fa-4b00-9400-6218e508bdee</trackback:ping>
      <pingback:server>http://www.gregcons.com/KateBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=36437e5e-52fa-4b00-9400-6218e508bdee</pingback:target>
      <dc:creator>Kate Gregory</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Every once in a while, I make a big change in how I plan and manage my speaking engagements.
Early in the last decade, I decided to speak only at conferences I would happily pay
to attend, and that improved my life dramatically. Instead of trying to justify a
week away from home and the office in which I would try to keep up on emails from
a hotel room or a hallway couch, while surrounded by people who didn't care about
the stuff I cared about, I started looking forward to a week of learning and growing,
of coming home knowing more than when I left, and of meeting my heroes and getting
to see my friends.
</p>
        <p>
While this was an important change, it was only a change in my decision criteria,
and not in my overall process of deciding where to speak. I would get an email, or
see a tweet, or otherwise become aware that a conference was going to happen, and
then I would decide, on a case-by-case basis, if I wanted to submit to that conference.
Sometimes I would have to decline because I had already submitted to another one at
roughly the same time, without realizing the overlap. In mid 2019, I changed that.
I listed out all the <a href="https://isocpp.org/wiki/faq/conferences-worldwide">C++
conferences </a>I knew of, and roughly when they happened. Then my partner and I went
through the list, noting when various family events are happening, when we want to
go on vacation, and other "big rocks" that conferences have to fit around. We talked
about how many conferences I wanted to speak at, and whittled down the list to that
many. 
</p>
        <p>
Now, as each conference opens a Call for Papers, if it's on my list, I submit, and
if it's not, I don't. Of course, my talks aren't always accepted. I set myself a goal
to speak at two non-C++ conferences in 2020. I was invited to one, but after I agreed
they changed their dates and that conflicted with something else I had accepted. I
submitted to another and they declined my talk. But one has accepted, and I have accepted
another invitation, so I will be speaking at two non-C++ conferences for sure. 
</p>
        <p>
Expect to see me at:
</p>
        <ul>
          <li>
January, Montreal: <a href="http://2020.cusec.net/">CUSEC 2020</a> (Canadian University
Software Engineering Conference) - keynote (and a Meetup while I'm in town, <a href="https://www.meetup.com/fr-FR/CppMtl/events/267755235/">come
ask about technical speaking</a>)<br /></li>
          <li>
March, Bristol, UK: <a href="https://conference.accu.org/">ACCU </a>- Naming Is Hard,
Let's Do Better</li>
          <li>
May, London, UK: SDD - Naming and Emotional Code</li>
        </ul>
        <div>I have submitted to some for June and onwards, but haven't heard, so I'm not
mentioning them, nor the ones I've decided not to submit to. That's not fair to anyone.
I might do as many as 7 conferences by the time the year is over, and that's a lot.
Plus user group talks whenever I can. 
<br /></div>
        <div>
          <br />
        </div>
        <div>So is there any point inviting me to speak at your conference? Well, sure. It
might match up with something else (at least one conference I added to my list because
I could combine it with another trip that was already planned) or be so compelling
that I will find a way to fit it in. Or it might end up on my list for next year --
I like this advance planning so I'm going to keep doing it. As always, remember that
I do have <a href="http://www.gregcons.com/SpeakerKit.aspx">requirements </a>for any
speaking engagement, so if you invite me, please let me know you've read that and
meet them.
</div>
        <div>
          <br />
        </div>
        <div>If you're at any conference I am speaking at, please do find me and say hi! It's
one of the most important parts of any conference for me.
</div>
        <div>
          <br />
        </div>
        <div>Kate<br /></div>
        <img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=36437e5e-52fa-4b00-9400-6218e508bdee" />
      </body>
      <title>My 2020 Speaking</title>
      <guid isPermaLink="false">http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=36437e5e-52fa-4b00-9400-6218e508bdee</guid>
      <link>http://www.gregcons.com/KateBlog/My2020Speaking.aspx</link>
      <pubDate>Wed, 08 Jan 2020 18:25:46 GMT</pubDate>
      <description>&lt;p&gt;
Every once in a while, I make a big change in how I plan and manage my speaking engagements.
Early in the last decade, I decided to speak only at conferences I would happily pay
to attend, and that improved my life dramatically. Instead of trying to justify a
week away from home and the office in which I would try to keep up on emails from
a hotel room or a hallway couch, while surrounded by people who didn't care about
the stuff I cared about, I started looking forward to a week of learning and growing,
of coming home knowing more than when I left, and of meeting my heroes and getting
to see my friends.
&lt;/p&gt;
&lt;p&gt;
While this was an important change, it was only a change in my decision criteria,
and not in my overall process of deciding where to speak. I would get an email, or
see a tweet, or otherwise become aware that a conference was going to happen, and
then I would decide, on a case-by-case basis, if I wanted to submit to that conference.
Sometimes I would have to decline because I had already submitted to another one at
roughly the same time, without realizing the overlap. In mid 2019, I changed that.
I listed out all the &lt;a href="https://isocpp.org/wiki/faq/conferences-worldwide"&gt;C++
conferences &lt;/a&gt;I knew of, and roughly when they happened. Then my partner and I went
through the list, noting when various family events are happening, when we want to
go on vacation, and other "big rocks" that conferences have to fit around. We talked
about how many conferences I wanted to speak at, and whittled down the list to that
many. 
&lt;/p&gt;
&lt;p&gt;
Now, as each conference opens a Call for Papers, if it's on my list, I submit, and
if it's not, I don't. Of course, my talks aren't always accepted. I set myself a goal
to speak at two non-C++ conferences in 2020. I was invited to one, but after I agreed
they changed their dates and that conflicted with something else I had accepted. I
submitted to another and they declined my talk. But one has accepted, and I have accepted
another invitation, so I will be speaking at two non-C++ conferences for sure. 
&lt;/p&gt;
&lt;p&gt;
Expect to see me at:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
January, Montreal: &lt;a href="http://2020.cusec.net/"&gt;CUSEC 2020&lt;/a&gt; (Canadian University
Software Engineering Conference) - keynote (and a Meetup while I'm in town, &lt;a href="https://www.meetup.com/fr-FR/CppMtl/events/267755235/"&gt;come
ask about technical speaking&lt;/a&gt;)&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;
March, Bristol, UK: &lt;a href="https://conference.accu.org/"&gt;ACCU &lt;/a&gt;- Naming Is Hard,
Let's Do Better&lt;/li&gt;
&lt;li&gt;
May, London, UK: SDD - Naming and Emotional Code&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;I have submitted to some for June and onwards, but haven't heard, so I'm not
mentioning them, nor the ones I've decided not to submit to. That's not fair to anyone.
I might do as many as 7 conferences by the time the year is over, and that's a lot.
Plus user group talks whenever I can. 
&lt;br&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;div&gt;So is there any point inviting me to speak at your conference? Well, sure. It
might match up with something else (at least one conference I added to my list because
I could combine it with another trip that was already planned) or be so compelling
that I will find a way to fit it in. Or it might end up on my list for next year --
I like this advance planning so I'm going to keep doing it. As always, remember that
I do have &lt;a href="http://www.gregcons.com/SpeakerKit.aspx"&gt;requirements &lt;/a&gt;for any
speaking engagement, so if you invite me, please let me know you've read that and
meet them.
&lt;/div&gt;
&lt;div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;div&gt;If you're at any conference I am speaking at, please do find me and say hi! It's
one of the most important parts of any conference for me.
&lt;/div&gt;
&lt;div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;div&gt;Kate&lt;br&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=36437e5e-52fa-4b00-9400-6218e508bdee" /&gt;</description>
      <category>C++</category>
      <category>Consulting Life</category>
      <category>Speaking</category>
      <category>Travel</category>
    </item>
    <item>
      <trackback:ping>http://www.gregcons.com/KateBlog/Trackback.aspx?guid=4ad70427-2c2d-4290-89f4-2a0ea2e87111</trackback:ping>
      <pingback:server>http://www.gregcons.com/KateBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=4ad70427-2c2d-4290-89f4-2a0ea2e87111</pingback:target>
      <dc:creator>Kate Gregory</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I'm thrilled to announce <a href="https://app.pluralsight.com/library/courses/cplusplus-17-beyond-the-basics/table-of-contents">my
latest Pluralsight course</a>:
</p>
        <p>
          <a href="https://app.pluralsight.com/library/courses/cplusplus-17-beyond-the-basics/table-of-contents">
            <img src="http://www.gregcons.com/KateBlog/content/binary/cpp17 btb.jpg" width="500" border="0" />
          </a>
        </p>
        <p>
Here are the modules:
</p>
        <p>
        </p>
        <ul>
          <li>
Course Overview</li>
          <li>
Modern C++</li>
          <li>
Standard Library Containers</li>
          <li>
Lambdas</li>
          <li>
Standard Library Algorithms</li>
          <li>
Move Semantics</li>
          <li>
Exceptions</li>
        </ul>
        <div>The course picks up where <a href="https://app.pluralsight.com/library/courses/cplusplus-fundamentals-c17/table-of-contents">C++
Fundamentals Including C++ 17</a> leaves off and puts you in a good place to take <a href="https://app.pluralsight.com/library/courses/beautiful-cplusplus-stl-algorithms/table-of-contents">Beautiful
C++: STL Algorithms</a> or <a href="https://app.pluralsight.com/search/?q=C%2B%2B&amp;type=video-course&amp;m_sort=newest&amp;page=1&amp;query_id=2aa03c69-0a0c-48e7-ac05-60db555e0268">other
C++ courses</a>. As always, if you want a free 10 day trial, click the large white
box on the side of this blog page.
</div>
        <div>
          <br />
        </div>
        <div>Hope you enjoy it! 
<br /></div>
        <div>
          <br />
        </div>
        <div>Kate<br /></div>
        <p>
        </p>
        <img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=4ad70427-2c2d-4290-89f4-2a0ea2e87111" />
      </body>
      <title>A new Pluralsight course is live: C++ 17: Beyond the Basics </title>
      <guid isPermaLink="false">http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=4ad70427-2c2d-4290-89f4-2a0ea2e87111</guid>
      <link>http://www.gregcons.com/KateBlog/ANewPluralsightCourseIsLiveC17BeyondTheBasics.aspx</link>
      <pubDate>Thu, 28 Nov 2019 15:22:03 GMT</pubDate>
      <description>&lt;p&gt;
I'm thrilled to announce &lt;a href="https://app.pluralsight.com/library/courses/cplusplus-17-beyond-the-basics/table-of-contents"&gt;my
latest Pluralsight course&lt;/a&gt;:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="https://app.pluralsight.com/library/courses/cplusplus-17-beyond-the-basics/table-of-contents"&gt;&lt;img src="http://www.gregcons.com/KateBlog/content/binary/cpp17 btb.jpg" width="500" border="0"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Here are the modules:
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
Course Overview&lt;/li&gt;
&lt;li&gt;
Modern C++&lt;/li&gt;
&lt;li&gt;
Standard Library Containers&lt;/li&gt;
&lt;li&gt;
Lambdas&lt;/li&gt;
&lt;li&gt;
Standard Library Algorithms&lt;/li&gt;
&lt;li&gt;
Move Semantics&lt;/li&gt;
&lt;li&gt;
Exceptions&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;The course picks up where &lt;a href="https://app.pluralsight.com/library/courses/cplusplus-fundamentals-c17/table-of-contents"&gt;C++
Fundamentals Including C++ 17&lt;/a&gt; leaves off and puts you in a good place to take &lt;a href="https://app.pluralsight.com/library/courses/beautiful-cplusplus-stl-algorithms/table-of-contents"&gt;Beautiful
C++: STL Algorithms&lt;/a&gt; or &lt;a href="https://app.pluralsight.com/search/?q=C%2B%2B&amp;amp;type=video-course&amp;amp;m_sort=newest&amp;amp;page=1&amp;amp;query_id=2aa03c69-0a0c-48e7-ac05-60db555e0268"&gt;other
C++ courses&lt;/a&gt;. As always, if you want a free 10 day trial, click the large white
box on the side of this blog page.
&lt;/div&gt;
&lt;div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;div&gt;Hope you enjoy it! 
&lt;br&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;div&gt;Kate&lt;br&gt;
&lt;/div&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=4ad70427-2c2d-4290-89f4-2a0ea2e87111" /&gt;</description>
      <category>C++</category>
      <category>Seen and Recommended</category>
    </item>
    <item>
      <trackback:ping>http://www.gregcons.com/KateBlog/Trackback.aspx?guid=27832300-fca9-47a9-9e12-db72a33062ea</trackback:ping>
      <pingback:server>http://www.gregcons.com/KateBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=27832300-fca9-47a9-9e12-db72a33062ea</pingback:target>
      <dc:creator>Kate Gregory</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <a href="https://cppcon.org/">CppCon </a>is
approaching again and my calendar is FULL. The <a href="https://cppcon2019.sched.com/">schedule </a>may
change and there are things still to be added, but the current plan is:<ul><li>
On Sunday, I am doing a <a href="https://cppcon.org/class-2019-e3/">preconference
workshop</a> (you can still get a spot) with John Lakos and Andrei Alexandrescu</li><li>
After the precon I hope to relax at the <a href="https://cppcon2019.sched.com/event/ReHL/tee-shirt-night-dinner">TShirt
dinner</a>. Pack a Tshirt that says C++ (or bring your badge, or a piece of paper
on which you wrote C++ yourself) and choose a restaurant from the list that should
be published by the time we all get to Colorado. When you arrive, ask where the other
C++ Tshirt people are, and make some new friends! I'll be tweeting my plans just before
I head out.</li><li>
Then it's back to the shiny new venue for the <a href="https://cppcon2019.sched.com/event/ReFk/registration-reception">Registration
Reception</a>. Even if you're on East Coast time like me, make an appearance, see
some friends or some of your heroes, there will probably be treats, and you'll be
all set for the morning. Knowing the venue a bit is going to make you sleep better,
and having your badge already will let you sleep longer.</li><li>
Monday I will be attending talks and spending time at the exhibitor table for <a href="https://www.includecpp.org/">#include&lt;C++&gt;</a>,
an organization working to make the C++ community more welcoming and inclusive. Come
by and get a sticker! Buy a shirt! And you know, attending talks and hanging at the
#include table is what I'll be doing all 5 days.</li><li>
If I manage to stay awake, I'll go to <a href="https://cppcon2019.sched.com/event/ReJ5/committee-fireside-chat">The
Committee Fireside Chat</a> after dinner. If there is something you always wanted
to ask the people who create the C++ standard, here's where that happens.<br /></li><li>
Tuesday and Wednesday it's talks, talks, talks! I predict I will go back to my room
for a nap at least once. It's a strategic choice that lets you actually experience
the post-nap talks instead of drowsing through them and needing to watch the recording
in the end.<br /></li><li>
Wednesday night is the <a href="https://cppcon2019.sched.com/event/ReGW/include-dinner">#include&lt;C++&gt;
dinner and panel</a>! You can register for this on Eventbrite as part of registering
for the conference. I'll moderate a discussion about some of what we've achieved in
just two years, and what some of us would like to see next.<br /></li><li>
Afterwards it's <a href="https://cppcon2019.sched.com/event/ReJ8/lightning-talks">Lightning
Talks</a>. Everyone loves the Lightning Talks, they're always fantastic. I will try
my best to stay up for them.<br /></li><li>
If I can, I'll come super early on Thursday and Friday for <a href="https://cppcon2019.sched.com/event/ReIk/cppchat-live-episode">recordings
of CppChat</a>. And stay all day for talks, of course.<br /></li><li>
Thursday night is the <a href="https://cppcon2019.sched.com/event/ReGZ/meet-the-speakers-dinner">Speaker's
Dinner</a>. And there's a planning meeting after that. But I might need an early night,
because...<br /></li><li>
Friday morning I have my one breakout session: <a href="https://cppcon2019.sched.com/event/SftN/naming-is-hard-lets-do-better">Naming
is Hard: Let's Do Better</a>. And like last year, a lot of really good content is
on Friday. Don't even think of leaving early. Fly home Saturday morning, you won't
regret it.</li></ul><p>
See why I call CppCon an intense conference? 12 or 13 hours a day, every day. And
no time for sightseeing! But oh my goodness the things I will learn, the people I
will meet, and the fun I will have. See you there!
</p><p>
Kate
</p><img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=27832300-fca9-47a9-9e12-db72a33062ea" /></body>
      <title>Another jam-packed CppCon</title>
      <guid isPermaLink="false">http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=27832300-fca9-47a9-9e12-db72a33062ea</guid>
      <link>http://www.gregcons.com/KateBlog/AnotherJampackedCppCon.aspx</link>
      <pubDate>Fri, 26 Jul 2019 00:02:09 GMT</pubDate>
      <description>&lt;a href="https://cppcon.org/"&gt;CppCon &lt;/a&gt;is approaching again and my calendar is FULL.
The &lt;a href="https://cppcon2019.sched.com/"&gt;schedule &lt;/a&gt;may change and there are
things still to be added, but the current plan is:&lt;ul&gt;
&lt;li&gt;
On Sunday, I am doing a &lt;a href="https://cppcon.org/class-2019-e3/"&gt;preconference
workshop&lt;/a&gt; (you can still get a spot) with John Lakos and Andrei Alexandrescu&lt;/li&gt;
&lt;li&gt;
After the precon I hope to relax at the &lt;a href="https://cppcon2019.sched.com/event/ReHL/tee-shirt-night-dinner"&gt;TShirt
dinner&lt;/a&gt;. Pack a Tshirt that says C++ (or bring your badge, or a piece of paper
on which you wrote C++ yourself) and choose a restaurant from the list that should
be published by the time we all get to Colorado. When you arrive, ask where the other
C++ Tshirt people are, and make some new friends! I'll be tweeting my plans just before
I head out.&lt;/li&gt;
&lt;li&gt;
Then it's back to the shiny new venue for the &lt;a href="https://cppcon2019.sched.com/event/ReFk/registration-reception"&gt;Registration
Reception&lt;/a&gt;. Even if you're on East Coast time like me, make an appearance, see
some friends or some of your heroes, there will probably be treats, and you'll be
all set for the morning. Knowing the venue a bit is going to make you sleep better,
and having your badge already will let you sleep longer.&lt;/li&gt;
&lt;li&gt;
Monday I will be attending talks and spending time at the exhibitor table for &lt;a href="https://www.includecpp.org/"&gt;#include&amp;lt;C++&amp;gt;&lt;/a&gt;,
an organization working to make the C++ community more welcoming and inclusive. Come
by and get a sticker! Buy a shirt! And you know, attending talks and hanging at the
#include table is what I'll be doing all 5 days.&lt;/li&gt;
&lt;li&gt;
If I manage to stay awake, I'll go to &lt;a href="https://cppcon2019.sched.com/event/ReJ5/committee-fireside-chat"&gt;The
Committee Fireside Chat&lt;/a&gt; after dinner. If there is something you always wanted
to ask the people who create the C++ standard, here's where that happens.&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;
Tuesday and Wednesday it's talks, talks, talks! I predict I will go back to my room
for a nap at least once. It's a strategic choice that lets you actually experience
the post-nap talks instead of drowsing through them and needing to watch the recording
in the end.&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;
Wednesday night is the &lt;a href="https://cppcon2019.sched.com/event/ReGW/include-dinner"&gt;#include&amp;lt;C++&amp;gt;
dinner and panel&lt;/a&gt;! You can register for this on Eventbrite as part of registering
for the conference. I'll moderate a discussion about some of what we've achieved in
just two years, and what some of us would like to see next.&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;
Afterwards it's &lt;a href="https://cppcon2019.sched.com/event/ReJ8/lightning-talks"&gt;Lightning
Talks&lt;/a&gt;. Everyone loves the Lightning Talks, they're always fantastic. I will try
my best to stay up for them.&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;
If I can, I'll come super early on Thursday and Friday for &lt;a href="https://cppcon2019.sched.com/event/ReIk/cppchat-live-episode"&gt;recordings
of CppChat&lt;/a&gt;. And stay all day for talks, of course.&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;
Thursday night is the &lt;a href="https://cppcon2019.sched.com/event/ReGZ/meet-the-speakers-dinner"&gt;Speaker's
Dinner&lt;/a&gt;. And there's a planning meeting after that. But I might need an early night,
because...&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;
Friday morning I have my one breakout session: &lt;a href="https://cppcon2019.sched.com/event/SftN/naming-is-hard-lets-do-better"&gt;Naming
is Hard: Let's Do Better&lt;/a&gt;. And like last year, a lot of really good content is
on Friday. Don't even think of leaving early. Fly home Saturday morning, you won't
regret it.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
See why I call CppCon an intense conference? 12 or 13 hours a day, every day. And
no time for sightseeing! But oh my goodness the things I will learn, the people I
will meet, and the fun I will have. 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=27832300-fca9-47a9-9e12-db72a33062ea" /&gt;</description>
      <category>C++</category>
      <category>Seen and Recommended</category>
      <category>Travel</category>
    </item>
    <item>
      <trackback:ping>http://www.gregcons.com/KateBlog/Trackback.aspx?guid=d257b09e-847b-4bc8-bfdc-1e59dfeb7e30</trackback:ping>
      <pingback:server>http://www.gregcons.com/KateBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=d257b09e-847b-4bc8-bfdc-1e59dfeb7e30</pingback:target>
      <dc:creator>Kate Gregory</dc:creator>
      <title>Happy one-of-our-birthdays, #include&lt;C++&gt;! </title>
      <guid isPermaLink="false">http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=d257b09e-847b-4bc8-bfdc-1e59dfeb7e30</guid>
      <link>http://www.gregcons.com/KateBlog/HappyOneofourbirthdaysInclude.aspx</link>
      <pubDate>Sun, 14 Jul 2019 10:46:26 GMT</pubDate>
      <description>&lt;p&gt;
On July 14th, 2017, Guy Davidson &lt;a href="https://twitter.com/hatcat01/status/885973064600760320"&gt;tweeted &lt;/a&gt;what
he thought was a passing pun:
&lt;/p&gt;
&lt;p&gt;
&lt;img http:="" www.gregcons.com="" kateblog="" content="" binary="" guy.jpg"="" src="http://www.gregcons.com/KateBlog/content/binary/guy.jpg" width="600 src=" border="0"&gt;
&lt;/p&gt;
&lt;p&gt;
But when I saw the tweet, I thought, yeah, why isn’t there?
&lt;/p&gt;
&lt;p&gt;&lt;width="600" img="" src="http://www.gregcons.com/KateBlog/content/binary/reply.jpg" border="0"&gt;width="600"&gt;
&lt;/p&gt;
&lt;p&gt;&lt;c++&gt;
And in that moment, #include was born. We got together at CppCon and again at Meeting
C++ where Guy did &lt;a href="https://www.youtube.com/watch?v=7GIZN03-_6w"&gt;a lightning
talk on inclusion&lt;/a&gt;. We were off and running. At that time we had a channel on the
cpplang slack, but that didn’t work out well: a change of owners of the slack to someone
who was less interested in preventing harassment and abuse, coupled with slack’s fundamental
design tenet that people having trouble with bad behavior on a slack channel can always
go to their mutual boss (which doesn’t work on public servers that bring strangers
together) resulted in #include being pretty much driven off the slack and forming &lt;a href="https://discord.gg/ZPErMGW"&gt;our
own server&lt;/a&gt;c++&gt; elsewhere, on discord.
&lt;/p&gt;
&lt;p&gt;
The original channels on the discord were all about the work of running #include.
How can we get conferences to have a code of conduct? How can we help employers to
write job ads that will attract all kinds of applicants, not just people who closely
resemble the ones they already have? But we couldn’t stop talking about C++ so we
added a channel for that, and then another for something else technical, and another,
… and things really started to grow.
&lt;/p&gt;
&lt;p&gt;
By April 2018 we were about a dozen organizers and very few people who weren’t organizers.
But now we have over 2300 members and over 70 channels. People are getting help with
C++ problems they face, recruiting helpers for projects, getting advice about speaking
or attending conferences, and much more. 
&lt;/p&gt;
&lt;p&gt;
Our original goals were pretty low key really:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
To encourage under-represented people to speak, to apply for jobs, to stay in this
industry&lt;/li&gt;
&lt;li&gt;
To get conferences to have a code of conduct (we hadn’t even thought about enforcement)&lt;/li&gt;
&lt;li&gt;
To get employers to value diversity somewhat, and to provide some resources to conferences
and employers&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
We thought it would be nice to have some stickers and Tshirts made, and have a table
at conferences where we would urge people to join our discord and try to make our
industry more welcoming. Well, that worked! We’ve had tables at major C++ conferences
the world over and you can be sure to find a smiling person to talk to, whether they’re
officially “working the table” or not.
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://www.gregcons.com/KateBlog/content/binary/guy at merch table.jpg" width="600" border="0"&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://www.gregcons.com/KateBlog/content/binary/CPPP2019.jpg" width="600" border="0"&gt;
&lt;/p&gt;
&lt;p&gt;
We’ve seen these shirts at conferences and user groups around the world, at C++ standards
meetings, and on a lot of speakers and influencers. We think they send a strong message
to attendees that the world is full of friendly and welcoming people who will not
exclude you because you are different in some way. If you want one, we have a &lt;a href="https://shop.spreadshirt.com/includecpp"&gt;US-based
store&lt;/a&gt; and a &lt;a href="https://shop.spreadshirt.net/includecpp"&gt;European store&lt;/a&gt;,
or you can find us at a conference near you. We try to diffuse the stickers around
the world – if you run a user group and are going to be at a conference, get in touch
with one of us (the conference channel on our discord would be the best place) to
see if you can get a handful of stickers to take home and give out at the group.
&lt;/p&gt;
&lt;p&gt;
Last year at about this time, someone asked if we were interested in partnering with
the &lt;a href="https://womenintechfund.org/"&gt;Women in Tech Fund&lt;/a&gt; to get women to
CppCon. We sure were! The conference donated tickets at below their catering costs,
and we &lt;a href="https://www.gofundme.com/sponsoring-women-cppcon-2018-attendees"&gt;raised &lt;/a&gt;$4000
to cover travel and accommodation for our scholarship winners. It was a big success
and we keep doing it at conference after conference. Right now &lt;a href="https://www.gofundme.com/sponsoring-diverse-cppcon-2019-attendees"&gt;we’re
raising for CppCon&lt;/a&gt; again – this year not just women, but anyone who is under-represented
in the C++ community, can apply. If your employer isn’t sending you, why not see if
we can? 
&lt;/p&gt;
&lt;p&gt;
&lt;img wifth="600" src="http://www.gregcons.com/KateBlog/content/binary/cppcon2018.jpg" border="0"&gt;
&lt;/p&gt;
&lt;p&gt;
This is a lot more than we had originally planned to do. A number of us started insisting
on a Code of Conduct before agreeing to submit talks to a conference, and suddenly
it seems all the C++ conference have good Codes of Conduct now, with real enforcement
too. There’s a best practice gaining popularity of introducing the Code of Conduct
team at the start of the conference too. We started handing out pronoun stickers to
put on badges, and not only do lots of people take them (please take one even if your
gender is obvious, it makes life easier for those whose isn’t) but some conferences
have even started including a pronouns field on badges. We’ve built this amazing friendly
community on the discord where people are learning and growing and becoming leaders
in the C++ community at large. We’ve seen talks and demos and forms and web sites
changed after we pointed out that a particular wording or example wasn’t welcoming
and inclusive. People generally want to be welcoming and inclusive, they’re just not
sure how to do it, so our strategy of providing really specific unsolicited advice
has worked well. And probably the thing I’m most proud of is the people – actual breathing
humans – we have sent to conferences. Going to a conference is career-changing, especially
when you’re relatively inexperienced. You can meet your heroes, ask questions, learn
a ton, make connections, get advice, and re-energize your connection to this industry
and your job. Already I am seeing former scholarship winners on stage, donating to
the current fundraiser, and finding their voices on Twitter and our discord. It’s
amazing. I want to pinch myself some days.
&lt;/p&gt;
&lt;p&gt;
The people who form the core of #include support and encourage each other. Many of
us have given talks we would never have otherwise given. I won’t speak for her, but
I expect the jaw dropping and enlightening &lt;a href="https://www.youtube.com/watch?v=ZYvyO27uMCU"&gt;Deconstructing
Privilege&lt;/a&gt; talk that Patricia Aas has been giving could be one of them. If you
haven’t watched it, you should. A lot of what we’re doing at #include is “privilege
lending” – using our positions to ask for things to make people with less privilege
feel welcome. We’re also teaching people who’ve been spared some hardships about the
realities some other people face. Often this is all it takes for things to change
quite quickly.
&lt;/p&gt;
&lt;p&gt;
We’ve also done a lot of lightning talks and internal corporate presentations about
#include and what we’re trying to do, but it seems like none of them ever get recorded
and uploaded. Rest assured, we’re still working hard to move the needle when it comes
to inclusion in the C++ community. 
&lt;/p&gt;
&lt;p&gt;
What’s next? Well, we’d love to start seeing child care available at C++ conferences.
We’d love to see other developer communities doing some of what we’re doing, and we’re
going to keep learning from other developer communities too. We’re seeing things like
quiet rooms, pronouns on conference badges, and food labelling becoming the norm.
And we’d love to get suggestions from anyone who feels excluded from conferences,
training, job opportunities, and online communities. &lt;a href="https://discord.gg/aBX3xc"&gt;Join
the discord&lt;/a&gt; and join the conversation, or find us on &lt;a href="https://twitter.com/include_cpp"&gt;Twitter&lt;/a&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=d257b09e-847b-4bc8-bfdc-1e59dfeb7e30" /&gt;</description>
      <category>C++</category>
      <category>Seen and Recommended</category>
      <category>Speaking</category>
    </item>
    <item>
      <trackback:ping>http://www.gregcons.com/KateBlog/Trackback.aspx?guid=5cc89a5d-703a-4f83-ab0b-ecc13419d4ad</trackback:ping>
      <pingback:server>http://www.gregcons.com/KateBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=5cc89a5d-703a-4f83-ab0b-ecc13419d4ad</pingback:target>
      <dc:creator>Kate Gregory</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I just published a small course on Pluralsight called <a href="https://app.pluralsight.com/library/courses/visual-studio-2019-advanced-debugging/table-of-contents">Advanced
Debugging with Visual Studio 2019</a>. It covers IntelliTrace and Code Map, two features
that are only in the Enterprise Edition of Visual Studio. Many people don't know about
them, so I put together a quick introduction. 
<br /></p>
        <p>
          <img src="http://www.gregcons.com/KateBlog/content/binary/teaser[1][2][3][4][5][6][7][8][9][10][11][12][13][14].jpg" width="600" border="0" />
        </p>
        <p>
Here are some of my other current courses: 
</p>
        <ul>
          <li>
            <a href="https://app.pluralsight.com/library/courses/visual-studio-2019-getting-started">Visual
Studio 2019 Getting Started</a> - what you need as a new user of Visual Studio to
start using it. There are a variety of other Visual Studio courses, and pretty much
all of the material from <a href="https://app.pluralsight.com/library/courses/visual-studio-2017-essentials-beyond">my
2017 one</a> is still applicable, so don't take just this one or you'll be missing
some really powerful techniques.</li>
          <li>
            <a href="https://app.pluralsight.com/library/courses/cpp-updating-legacy-code">Beautiful
C++: Updating Legacy Code</a> - I really enjoyed writing this course and if you maintain
old C++ code, I think it will make your life a lot easier. It discusses both specific
patterns to update (and why) and overall strategic approaches (not mechanically replacing
every incidence of one pattern with a newer pattern.) 
<br /></li>
          <li>
            <a href="https://app.pluralsight.com/library/courses/cplusplus-fundamentals-c17">C++
Fundamentals Including C++ 17</a> - this is the go-to course for developers who want
to learn C++ today. Whether you never did any, or did some a decade or two ago, this
course will cover the syntax, library, and best practices you need. If you've never
programmed in any language, try <a href="https://app.pluralsight.com/library/courses/learn-programming-cplusplus">Learn
How to Program with C++</a> instead. 
<br /></li>
          <li>
            <a href="https://app.pluralsight.com/library/courses/using-stackoverflow-stackexchange-sites">Using
Stack Overflow and Other Stack Exchange Sites</a> - we all go to Stack Overflow when
we're stuck. But a lot of us are bad at it, because it doesn't work like other sites.
Take a little time to improve this skill and you'll get better and faster answers.
You might even become one of those high-rep users who others admire!</li>
          <li>
            <a href="https://app.pluralsight.com/library/courses/beautiful-cplusplus-stl-algorithms">Beautiful
C++: STL Algorithms</a> - Stop writing raw loops and you will get more readable code
with less effort. The library has so much waiting for you and this course will help
you make sense of it all.</li>
        </ul>
        <div>There are more, but if you take all of these, you'll be in a strong place as
a C++ developer. (BTW, only the Visual Studio courses require Visual Studio. All the
others work with any development environment you prefer.)
</div>
        <div>
          <br />
        </div>
        <div>Kate<br /></div>
        <p>
        </p>
        <img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=5cc89a5d-703a-4f83-ab0b-ecc13419d4ad" />
      </body>
      <title>Another Pluralsight course is live</title>
      <guid isPermaLink="false">http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=5cc89a5d-703a-4f83-ab0b-ecc13419d4ad</guid>
      <link>http://www.gregcons.com/KateBlog/AnotherPluralsightCourseIsLive.aspx</link>
      <pubDate>Fri, 28 Jun 2019 13:39:32 GMT</pubDate>
      <description>&lt;p&gt;
I just published a small course on Pluralsight called &lt;a href="https://app.pluralsight.com/library/courses/visual-studio-2019-advanced-debugging/table-of-contents"&gt;Advanced
Debugging with Visual Studio 2019&lt;/a&gt;. It covers IntelliTrace and Code Map, two features
that are only in the Enterprise Edition of Visual Studio. Many people don't know about
them, so I put together a quick introduction. 
&lt;br&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://www.gregcons.com/KateBlog/content/binary/teaser[1][2][3][4][5][6][7][8][9][10][11][12][13][14].jpg" width="600" border="0"&gt;
&lt;/p&gt;
&lt;p&gt;
Here are some of my other current courses: 
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://app.pluralsight.com/library/courses/visual-studio-2019-getting-started"&gt;Visual
Studio 2019 Getting Started&lt;/a&gt; - what you need as a new user of Visual Studio to
start using it. There are a variety of other Visual Studio courses, and pretty much
all of the material from &lt;a href="https://app.pluralsight.com/library/courses/visual-studio-2017-essentials-beyond"&gt;my
2017 one&lt;/a&gt; is still applicable, so don't take just this one or you'll be missing
some really powerful techniques.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://app.pluralsight.com/library/courses/cpp-updating-legacy-code"&gt;Beautiful
C++: Updating Legacy Code&lt;/a&gt; - I really enjoyed writing this course and if you maintain
old C++ code, I think it will make your life a lot easier. It discusses both specific
patterns to update (and why) and overall strategic approaches (not mechanically replacing
every incidence of one pattern with a newer pattern.) 
&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://app.pluralsight.com/library/courses/cplusplus-fundamentals-c17"&gt;C++
Fundamentals Including C++ 17&lt;/a&gt; - this is the go-to course for developers who want
to learn C++ today. Whether you never did any, or did some a decade or two ago, this
course will cover the syntax, library, and best practices you need. If you've never
programmed in any language, try &lt;a href="https://app.pluralsight.com/library/courses/learn-programming-cplusplus"&gt;Learn
How to Program with C++&lt;/a&gt; instead. 
&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://app.pluralsight.com/library/courses/using-stackoverflow-stackexchange-sites"&gt;Using
Stack Overflow and Other Stack Exchange Sites&lt;/a&gt; - we all go to Stack Overflow when
we're stuck. But a lot of us are bad at it, because it doesn't work like other sites.
Take a little time to improve this skill and you'll get better and faster answers.
You might even become one of those high-rep users who others admire!&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://app.pluralsight.com/library/courses/beautiful-cplusplus-stl-algorithms"&gt;Beautiful
C++: STL Algorithms&lt;/a&gt; - Stop writing raw loops and you will get more readable code
with less effort. The library has so much waiting for you and this course will help
you make sense of it all.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;There are more, but if you take all of these, you'll be in a strong place as
a C++ developer. (BTW, only the Visual Studio courses require Visual Studio. All the
others work with any development environment you prefer.)
&lt;/div&gt;
&lt;div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;div&gt;Kate&lt;br&gt;
&lt;/div&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=5cc89a5d-703a-4f83-ab0b-ecc13419d4ad" /&gt;</description>
      <category>C++</category>
      <category>Consulting Life</category>
      <category>Seen and Recommended</category>
      <category>Visual Studio 2019</category>
    </item>
    <item>
      <trackback:ping>http://www.gregcons.com/KateBlog/Trackback.aspx?guid=99f1609a-cab5-47d5-8000-2ca90a64f24a</trackback:ping>
      <pingback:server>http://www.gregcons.com/KateBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=99f1609a-cab5-47d5-8000-2ca90a64f24a</pingback:target>
      <dc:creator>Kate Gregory</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
In early April I was lucky enough to go to Bristol in the UK for the annual <a href="https://conference.accu.org/2019/schedule.html">ACCU
conference</a>. This has been an aspirational conference for me, one I attended before
speaking at and am always delighted to attend. This year I was invited to keynote,
and it turned out to be the closing keynote, which meant I was not done with all my
talks until the conference was over! Nevertheless I enjoyed the week tremendously.
</p>
        <p>
I flew to England overnight Saturday night. People often ask me how, given the fatigue
issues I have left over from the whole surviving incurable cancer thing, I am able
to travel. One reason is that when I travel, I only travel on travel days. I don’t
try to work at the airport, on the plane, etc. I read a book or listen to music or
just relax. On overnight flights, I sleep. I also schedule a few days to adjust to
the time zone without having to think hard or meet important deadlines, like finishing
my talk. On this trip, I spent two days visiting Cardiff, which is actually where
I was born, with my sister who is planning to move there. It was marvelous fun watching
a family explore and discover their new home town, and going to places I have seen
on TV or in pictures. 
</p>
        <p>
Tuesday I did a private corporate talk about <a href="https://www.includecpp.org/">#include&lt;C++&gt;</a> and
diversity issues. It was very well received and I might offer it to other companies
as a result. I always buy a train pass when I go to the UK and it got a good workout
on this occasion. Back in Bristol I was able to relax and know I was ready for the
conference.
</p>
        <p>
After a lovely opening address by Russel, we had an illuminating <a href="https://www.youtube.com/watch?v=tBmF7ofKoYQ&amp;list=PL9hrFapz4dsMrrlvFMvuqy_cdpPadCyL8&amp;index=2&amp;t=0s">keynote
from Angela Sasse</a>.  Security can’t be left until the end or handled by a
separate group who fight the developers. Afterwards I took some time to meet up with
more friends and spend some time at the #include table. After lunch, a very good talk
from Jonathan Boccara on <a href="https://www.youtube.com/watch?v=tOOK-VsWU-I&amp;list=PL9hrFapz4dsMrrlvFMvuqy_cdpPadCyL8&amp;index=7&amp;t=0s " temp_href="https://www.youtube.com/watch?v=tOOK-VsWU-I&amp;list=PL9hrFapz4dsMrrlvFMvuqy_cdpPadCyL8&amp;index=7&amp;t=0s ">reading
unfamiliar code</a>.  I loved the map analogy and the way he showed using a call
stack to increase your mapped area. Then a workshop from Gail Ollis on <a href="https://www.youtube.com/watch?v=5ipVQb9P4wQ&amp;list=PL9hrFapz4dsMrrlvFMvuqy_cdpPadCyL8&amp;index=14&amp;t=0s">Helping
Developers to Help Each Other</a> which really brought home to me once again how important
tactile artifacts – things you can pick up, put down, wave around, put next to each
other and so on – can be to encourage open and complete communication.  The recording
stops when the hands on part starts – just one of those things you can only get by
attending in person. The talks wrapped up with Lightning Talks and I did one – my
first time doing so at ACCU. I was not able to stay up for the evening reception beyond
a quick “hey! Great to see you!” to a handful of people. There were plenty of talks
I couldn’t get to – recordings for me to watch later!
</p>
        <p>
Day 2 started with a <a href="https://www.youtube.com/watch?v=os7cqJ5qlzo&amp;list=PL9hrFapz4dsMmDBjD_hiGaYKTXXLo7bAv&amp;index=2&amp;t=0s">Herb
Sutter keynote</a>.   I’ve read the paper but was really happy to hear it
as a talk, and to hear the motivations behind enabling more people to use the whole
language.  Then I needed some down time before my talk right after lunch. I gave
an updated version of “<a href="https://www.youtube.com/watch?v=-Hb-9TUyjoo&amp;list=PL9hrFapz4dsMmDBjD_hiGaYKTXXLo7bAv&amp;index=8&amp;t=4s">Nothing</a>”
and as always at ACCU got some great questions that will go into the next version
of the talk – or some other one.  Then I kept to tradition by doing the Pub Quiz,
entertaining as always for the don’t-write-this-at-work code and marveling at how
some folks know a lot of dark corners! Another round of lightning talks and an early
night, meaning I couldn’t attend the Bristol Girl Geeks dinner as I had planned.
</p>
        <p>
The Day 3 keynote was low on code and high on insight as <a href="https://www.youtube.com/watch?v=5YmwtiQf0fQ&amp;list=PL9hrFapz4dsNGsb0DdTDbX6elBLng8lg-&amp;index=2&amp;t=0s">Paul
Grenyer talked</a> about growing a community while dealing with the ups and downs
of life in general.  Then to a fascinating talk by Dom Davis about <a href="https://www.youtube.com/watch?v=jiJesVwkXPw&amp;list=PL9hrFapz4dsNGsb0DdTDbX6elBLng8lg-&amp;index=5&amp;t=0s">communicating</a>,
with significant meta content that I really enjoyed.  I spent the lunch break
at the #include table, and then dove into a variety of little talks – 15 and 20 minute
ones. I was starting to tire and didn’t pay as much attention as I should have, but
let me recommend <a href="https://www.youtube.com/watch?v=qi4bMw7tyKk&amp;list=PL9hrFapz4dsNGsb0DdTDbX6elBLng8lg-&amp;index=13&amp;t=0s">Alex
Chan’s reminder</a> that the tech we build can hurt people when it’s being used as
designed.  I took a break to be ready for the Conference Dinner where I was able
to catch up with old friends and meet a few new ones. 
</p>
        <p>
Finally Day 4. I started with <a href="https://www.youtube.com/watch?v=ndnvOElnyUg">Kevlin
Henney</a> and a talk with a similar title to my “Nothing” but very different content. 
Another break, another lunch at the #include table, and then some down time before <a href="https://www.youtube.com/watch?v=uloVXmSHiSo&amp;list=PL9hrFapz4dsMj31ZrsQNEXKqXJRbSXdHS&amp;index=2&amp;t=1s">my
closing keynote</a>. I updated the beginning of this talk since the C++ on Sea keynote,
and I think this improves it. More great questions after and I think more material
to work in there somehow. Then the close of the conference, a certain amount of hanging
around not wanting it to end, and up to my room for another early night and to get
ready to go.
</p>
        <p>
Sunday all I did was take the train to the airport, fly home (sleeping a little on
the plane) and drive home. A lot to process, as always after ACCU. And when I got
home, a lot to catch up on, which is why this has taken a few weeks to write up!
</p>
        <p>
Kate
</p>
        <img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=99f1609a-cab5-47d5-8000-2ca90a64f24a" />
      </body>
      <title>ACCU Trip report</title>
      <guid isPermaLink="false">http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=99f1609a-cab5-47d5-8000-2ca90a64f24a</guid>
      <link>http://www.gregcons.com/KateBlog/ACCUTripReport.aspx</link>
      <pubDate>Mon, 06 May 2019 10:57:37 GMT</pubDate>
      <description>&lt;p&gt;
In early April I was lucky enough to go to Bristol in the UK for the annual &lt;a href="https://conference.accu.org/2019/schedule.html"&gt;ACCU
conference&lt;/a&gt;. This has been an aspirational conference for me, one I attended before
speaking at and am always delighted to attend. This year I was invited to keynote,
and it turned out to be the closing keynote, which meant I was not done with all my
talks until the conference was over! Nevertheless I enjoyed the week tremendously.
&lt;/p&gt;
&lt;p&gt;
I flew to England overnight Saturday night. People often ask me how, given the fatigue
issues I have left over from the whole surviving incurable cancer thing, I am able
to travel. One reason is that when I travel, I only travel on travel days. I don’t
try to work at the airport, on the plane, etc. I read a book or listen to music or
just relax. On overnight flights, I sleep. I also schedule a few days to adjust to
the time zone without having to think hard or meet important deadlines, like finishing
my talk. On this trip, I spent two days visiting Cardiff, which is actually where
I was born, with my sister who is planning to move there. It was marvelous fun watching
a family explore and discover their new home town, and going to places I have seen
on TV or in pictures. 
&lt;/p&gt;
&lt;p&gt;
Tuesday I did a private corporate talk about &lt;a href="https://www.includecpp.org/"&gt;#include&amp;lt;C++&amp;gt;&lt;/a&gt; and
diversity issues. It was very well received and I might offer it to other companies
as a result. I always buy a train pass when I go to the UK and it got a good workout
on this occasion. Back in Bristol I was able to relax and know I was ready for the
conference.
&lt;/p&gt;
&lt;p&gt;
After a lovely opening address by Russel, we had an illuminating &lt;a href="https://www.youtube.com/watch?v=tBmF7ofKoYQ&amp;amp;list=PL9hrFapz4dsMrrlvFMvuqy_cdpPadCyL8&amp;amp;index=2&amp;amp;t=0s"&gt;keynote
from Angela Sasse&lt;/a&gt;.&amp;nbsp; Security can’t be left until the end or handled by a
separate group who fight the developers. Afterwards I took some time to meet up with
more friends and spend some time at the #include table. After lunch, a very good talk
from Jonathan Boccara on &lt;a href="https://www.youtube.com/watch?v=tOOK-VsWU-I&amp;amp;list=PL9hrFapz4dsMrrlvFMvuqy_cdpPadCyL8&amp;amp;index=7&amp;amp;t=0s " temp_href="https://www.youtube.com/watch?v=tOOK-VsWU-I&amp;amp;list=PL9hrFapz4dsMrrlvFMvuqy_cdpPadCyL8&amp;amp;index=7&amp;amp;t=0s "&gt;reading
unfamiliar code&lt;/a&gt;.&amp;nbsp; I loved the map analogy and the way he showed using a call
stack to increase your mapped area. Then a workshop from Gail Ollis on &lt;a href="https://www.youtube.com/watch?v=5ipVQb9P4wQ&amp;amp;list=PL9hrFapz4dsMrrlvFMvuqy_cdpPadCyL8&amp;amp;index=14&amp;amp;t=0s"&gt;Helping
Developers to Help Each Other&lt;/a&gt; which really brought home to me once again how important
tactile artifacts – things you can pick up, put down, wave around, put next to each
other and so on – can be to encourage open and complete communication.&amp;nbsp; The recording
stops when the hands on part starts – just one of those things you can only get by
attending in person. The talks wrapped up with Lightning Talks and I did one – my
first time doing so at ACCU. I was not able to stay up for the evening reception beyond
a quick “hey! Great to see you!” to a handful of people. There were plenty of talks
I couldn’t get to – recordings for me to watch later!
&lt;/p&gt;
&lt;p&gt;
Day 2 started with a &lt;a href="https://www.youtube.com/watch?v=os7cqJ5qlzo&amp;amp;list=PL9hrFapz4dsMmDBjD_hiGaYKTXXLo7bAv&amp;amp;index=2&amp;amp;t=0s"&gt;Herb
Sutter keynote&lt;/a&gt;.&amp;nbsp;&amp;nbsp; I’ve read the paper but was really happy to hear it
as a talk, and to hear the motivations behind enabling more people to use the whole
language.&amp;nbsp; Then I needed some down time before my talk right after lunch. I gave
an updated version of “&lt;a href="https://www.youtube.com/watch?v=-Hb-9TUyjoo&amp;amp;list=PL9hrFapz4dsMmDBjD_hiGaYKTXXLo7bAv&amp;amp;index=8&amp;amp;t=4s"&gt;Nothing&lt;/a&gt;”
and as always at ACCU got some great questions that will go into the next version
of the talk – or some other one.&amp;nbsp; Then I kept to tradition by doing the Pub Quiz,
entertaining as always for the don’t-write-this-at-work code and marveling at how
some folks know a lot of dark corners! Another round of lightning talks and an early
night, meaning I couldn’t attend the Bristol Girl Geeks dinner as I had planned.
&lt;/p&gt;
&lt;p&gt;
The Day 3 keynote was low on code and high on insight as &lt;a href="https://www.youtube.com/watch?v=5YmwtiQf0fQ&amp;amp;list=PL9hrFapz4dsNGsb0DdTDbX6elBLng8lg-&amp;amp;index=2&amp;amp;t=0s"&gt;Paul
Grenyer talked&lt;/a&gt; about growing a community while dealing with the ups and downs
of life in general.&amp;nbsp; Then to a fascinating talk by Dom Davis about &lt;a href="https://www.youtube.com/watch?v=jiJesVwkXPw&amp;amp;list=PL9hrFapz4dsNGsb0DdTDbX6elBLng8lg-&amp;amp;index=5&amp;amp;t=0s"&gt;communicating&lt;/a&gt;,
with significant meta content that I really enjoyed.&amp;nbsp; I spent the lunch break
at the #include table, and then dove into a variety of little talks – 15 and 20 minute
ones. I was starting to tire and didn’t pay as much attention as I should have, but
let me recommend &lt;a href="https://www.youtube.com/watch?v=qi4bMw7tyKk&amp;amp;list=PL9hrFapz4dsNGsb0DdTDbX6elBLng8lg-&amp;amp;index=13&amp;amp;t=0s"&gt;Alex
Chan’s reminder&lt;/a&gt; that the tech we build can hurt people when it’s being used as
designed.&amp;nbsp; I took a break to be ready for the Conference Dinner where I was able
to catch up with old friends and meet a few new ones. 
&lt;/p&gt;
&lt;p&gt;
Finally Day 4. I started with &lt;a href="https://www.youtube.com/watch?v=ndnvOElnyUg"&gt;Kevlin
Henney&lt;/a&gt; and a talk with a similar title to my “Nothing” but very different content.&amp;nbsp;
Another break, another lunch at the #include table, and then some down time before &lt;a href="https://www.youtube.com/watch?v=uloVXmSHiSo&amp;amp;list=PL9hrFapz4dsMj31ZrsQNEXKqXJRbSXdHS&amp;amp;index=2&amp;amp;t=1s"&gt;my
closing keynote&lt;/a&gt;. I updated the beginning of this talk since the C++ on Sea keynote,
and I think this improves it. More great questions after and I think more material
to work in there somehow. Then the close of the conference, a certain amount of hanging
around not wanting it to end, and up to my room for another early night and to get
ready to go.
&lt;/p&gt;
&lt;p&gt;
Sunday all I did was take the train to the airport, fly home (sleeping a little on
the plane) and drive home. A lot to process, as always after ACCU. And when I got
home, a lot to catch up on, which is why this has taken a few weeks to write up!
&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=99f1609a-cab5-47d5-8000-2ca90a64f24a" /&gt;</description>
      <category>C++</category>
      <category>Consulting Life</category>
      <category>Seen and Recommended</category>
      <category>Speaking</category>
      <category>Travel</category>
    </item>
    <item>
      <trackback:ping>http://www.gregcons.com/KateBlog/Trackback.aspx?guid=62e5d4bd-baa2-4005-8507-9b22fb61c231</trackback:ping>
      <pingback:server>http://www.gregcons.com/KateBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=62e5d4bd-baa2-4005-8507-9b22fb61c231</pingback:target>
      <dc:creator>Kate Gregory</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
My <a href="http://www.pluralsight.com/courses/cpp-updating-legacy-code">latest Pluralsight
course</a> is live!
</p>
        <p>
          <a href="http://www.pluralsight.com/courses/cpp-updating-legacy-code">
            <img src="http://www.gregcons.com/KateBlog/content/binary/teaser[1][2][3][4][5][6][7][8][9][10][11][12][13].jpg" width="800" border="0" />
          </a>
        </p>
        <p>
I start by talking about strategy - what parts to update, what general approach to
take, and so on. Then I present a number of specific tactics, like using the preprocessor
less and the compiler more, actually using C++ instead of just C, and using C++ features
that were added in C++ 11, C++ 14, and C++ 17. I show you code examples for the changes
I am suggesting, and explain why specific changes produce code that is more readable,
understandable, and maintainable.
</p>
        <p>
As always, if you don't already have a Pluralsight subscription, feel free to click
the large white box in the margin and start a free trial. I hope you like the course,
and tell your friends about it too!
</p>
        <p>
Kate
</p>
        <img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=62e5d4bd-baa2-4005-8507-9b22fb61c231" />
      </body>
      <title>New Pluralsight Course: "Beautiful C++: Updating Legacy Code"</title>
      <guid isPermaLink="false">http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=62e5d4bd-baa2-4005-8507-9b22fb61c231</guid>
      <link>http://www.gregcons.com/KateBlog/NewPluralsightCourseBeautifulCUpdatingLegacyCode.aspx</link>
      <pubDate>Tue, 20 Nov 2018 16:39:33 GMT</pubDate>
      <description>&lt;p&gt;
My &lt;a href="http://www.pluralsight.com/courses/cpp-updating-legacy-code"&gt;latest Pluralsight
course&lt;/a&gt; is live!
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.pluralsight.com/courses/cpp-updating-legacy-code"&gt;&lt;img src="http://www.gregcons.com/KateBlog/content/binary/teaser[1][2][3][4][5][6][7][8][9][10][11][12][13].jpg" width="800" border="0"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
I start by talking about strategy - what parts to update, what general approach to
take, and so on. Then I present a number of specific tactics, like using the preprocessor
less and the compiler more, actually using C++ instead of just C, and using C++ features
that were added in C++ 11, C++ 14, and C++ 17. I show you code examples for the changes
I am suggesting, and explain why specific changes produce code that is more readable,
understandable, and maintainable.
&lt;/p&gt;
&lt;p&gt;
As always, if you don't already have a Pluralsight subscription, feel free to click
the large white box in the margin and start a free trial. I hope you like the course,
and tell your friends about it too!
&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=62e5d4bd-baa2-4005-8507-9b22fb61c231" /&gt;</description>
      <category>C++</category>
      <category>C++ Guidelines</category>
      <category>Seen and Recommended</category>
    </item>
    <item>
      <trackback:ping>http://www.gregcons.com/KateBlog/Trackback.aspx?guid=fbf5ddcf-37bf-44d6-a989-26ed18a5ab77</trackback:ping>
      <pingback:server>http://www.gregcons.com/KateBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=fbf5ddcf-37bf-44d6-a989-26ed18a5ab77</pingback:target>
      <dc:creator>Kate Gregory</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <div>Oh my, I am doing a LOT at <a href="https://cppcon.org/">CppCon</a>. Here's a
list:
</div>
        <div>
          <ul>
            <li>
On Sunday, I am doing a <a href="https://cppcon.org/engage-entertain-educate/">preconference
workshop</a> (I believe it's sold out now) with Scott Meyers and Andrei Alexandrescu</li>
            <li>
After the precon I will relax at the <a href="http://sched.co/FmgU">TShirt dinner</a>.
Pack a Tshirt that says C++ (or bring your badge, or a piece of paper on which you
wrote C++ yourself) and choose a restaurant from the list on that page. When you arrive,
ask where the other C++ Tshirt people are, and make some new friends! I'll be tweeting
my plans just before I head out.</li>
            <li>
Then it's back to the Meydenbauer for the <a href="http://sched.co/Fmft">Registration
Reception</a>. Even if you're on East Coast time like me, make an appearance, see
some friends or some of your heroes, there will probably be cake, and you'll be all
set for the morning. Knowing the venue a bit is going to make you sleep better, and
having your badge already will let you sleep longer.</li>
            <li>
Monday I will be attending talks and working a shift at the exhibitor table for <a href="https://www.includecpp.org/">#include&lt;C++&gt;</a>,
an organization working to make the C++ community more welcoming and inclusive. Come
by and get a sticker! Buy a shirt!</li>
            <li>
If I manage to stay awake, I'll go to <a href="http://sched.co/Fmgm">Grill the Committee</a> after
dinner.<br /></li>
            <li>
Tuesday I have a session called <a href="http://sched.co/FnKA">What Do We Mean When
We Say Nothing At All?</a> and it's at 9 sharp - but you'll have been in the building
for Open Content at 8, won't you? Grab a coffee and come find out how nothing can
say a lot.</li>
            <li>
Tuesday night is the #include&lt;C++&gt; dinner and panel! <a href="https://www.eventbrite.com/e/women-in-c-dinner-and-panel-cppcon-2018-tickets-50295341721">Buy
your ticket</a> now, everyone is welcome. You do not need to be a CppCon attendee.<br /></li>
            <li>
Then it's back to the Meydenbauer after dinner for <a href="https://cppcon.org/2018call-for-lightningtalks/">Lightning
Talks</a>. Everyone loves the Lightning Talks, they're always fantastic.</li>
            <li>
Wednesday I'll arrive early because there are 3 sessions I want to watch at 9 (thankfully
all the talks are recorded)</li>
            <li>
My <a href="http://sched.co/FnKB">keynote </a>is at 10. I'm a bit nervous, but I'm
mostly looking forward to it.</li>
            <li>
Right after that, I have a <a href="http://sched.co/Fmg2">panel </a>about interop
with managed code.</li>
            <li>
Then I'm going to relax and listen to talks for the rest of the day, and go to the
Planners Dinner. And more Lightning Talks afterwards.<br /></li>
            <li>
Thursday I have no talks to give, shifts to work, or panels to be on. I'll be a free
attendee ... until the <a href="http://sched.co/FmgB">Speaker's Dinner</a>. And there's
a planning meeting after that.</li>
            <li>
Friday is JAMMED with talks. And if you live locally, come on down and attend some
because it's the open day. I have marked 11 talks in three time slots as ones I want
to attend. Not sure that's going to work, exactly.</li>
          </ul>
          <div>See why I call CppCon an intense conference? 12 or 13 hours a day, every day.
But oh my goodness the things I will learn, the people I will meet, and the fun I
will have. See you there!
</div>
          <div>
            <br />
          </div>
          <div>Kate<br /></div>
        </div>
        <p>
        </p>
        <img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=fbf5ddcf-37bf-44d6-a989-26ed18a5ab77" />
      </body>
      <title>My CppCon Plans</title>
      <guid isPermaLink="false">http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=fbf5ddcf-37bf-44d6-a989-26ed18a5ab77</guid>
      <link>http://www.gregcons.com/KateBlog/MyCppConPlans.aspx</link>
      <pubDate>Sat, 15 Sep 2018 16:26:26 GMT</pubDate>
      <description>&lt;div&gt;Oh my, I am doing a LOT at &lt;a href="https://cppcon.org/"&gt;CppCon&lt;/a&gt;. Here's a
list:
&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;
On Sunday, I am doing a &lt;a href="https://cppcon.org/engage-entertain-educate/"&gt;preconference
workshop&lt;/a&gt; (I believe it's sold out now) with Scott Meyers and Andrei Alexandrescu&lt;/li&gt;
&lt;li&gt;
After the precon I will relax at the &lt;a href="http://sched.co/FmgU"&gt;TShirt dinner&lt;/a&gt;.
Pack a Tshirt that says C++ (or bring your badge, or a piece of paper on which you
wrote C++ yourself) and choose a restaurant from the list on that page. When you arrive,
ask where the other C++ Tshirt people are, and make some new friends! I'll be tweeting
my plans just before I head out.&lt;/li&gt;
&lt;li&gt;
Then it's back to the Meydenbauer for the &lt;a href="http://sched.co/Fmft"&gt;Registration
Reception&lt;/a&gt;. Even if you're on East Coast time like me, make an appearance, see
some friends or some of your heroes, there will probably be cake, and you'll be all
set for the morning. Knowing the venue a bit is going to make you sleep better, and
having your badge already will let you sleep longer.&lt;/li&gt;
&lt;li&gt;
Monday I will be attending talks and working a shift at the exhibitor table for &lt;a href="https://www.includecpp.org/"&gt;#include&amp;lt;C++&amp;gt;&lt;/a&gt;,
an organization working to make the C++ community more welcoming and inclusive. Come
by and get a sticker! Buy a shirt!&lt;/li&gt;
&lt;li&gt;
If I manage to stay awake, I'll go to &lt;a href="http://sched.co/Fmgm"&gt;Grill the Committee&lt;/a&gt; after
dinner.&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;
Tuesday I have a session called &lt;a href="http://sched.co/FnKA"&gt;What Do We Mean When
We Say Nothing At All?&lt;/a&gt; and it's at 9 sharp - but you'll have been in the building
for Open Content at 8, won't you? Grab a coffee and come find out how nothing can
say a lot.&lt;/li&gt;
&lt;li&gt;
Tuesday night is the #include&amp;lt;C++&amp;gt; dinner and panel! &lt;a href="https://www.eventbrite.com/e/women-in-c-dinner-and-panel-cppcon-2018-tickets-50295341721"&gt;Buy
your ticket&lt;/a&gt; now, everyone is welcome. You do not need to be a CppCon attendee.&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;
Then it's back to the Meydenbauer after dinner for &lt;a href="https://cppcon.org/2018call-for-lightningtalks/"&gt;Lightning
Talks&lt;/a&gt;. Everyone loves the Lightning Talks, they're always fantastic.&lt;/li&gt;
&lt;li&gt;
Wednesday I'll arrive early because there are 3 sessions I want to watch at 9 (thankfully
all the talks are recorded)&lt;/li&gt;
&lt;li&gt;
My &lt;a href="http://sched.co/FnKB"&gt;keynote &lt;/a&gt;is at 10. I'm a bit nervous, but I'm
mostly looking forward to it.&lt;/li&gt;
&lt;li&gt;
Right after that, I have a &lt;a href="http://sched.co/Fmg2"&gt;panel &lt;/a&gt;about interop
with managed code.&lt;/li&gt;
&lt;li&gt;
Then I'm going to relax and listen to talks for the rest of the day, and go to the
Planners Dinner. And more Lightning Talks afterwards.&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;
Thursday I have no talks to give, shifts to work, or panels to be on. I'll be a free
attendee ... until the &lt;a href="http://sched.co/FmgB"&gt;Speaker's Dinner&lt;/a&gt;. And there's
a planning meeting after that.&lt;/li&gt;
&lt;li&gt;
Friday is JAMMED with talks. And if you live locally, come on down and attend some
because it's the open day. I have marked 11 talks in three time slots as ones I want
to attend. Not sure that's going to work, exactly.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;See why I call CppCon an intense conference? 12 or 13 hours a day, every day.
But oh my goodness the things I will learn, the people I will meet, and the fun I
will have. See you there!
&lt;/div&gt;
&lt;div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;div&gt;Kate&lt;br&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=fbf5ddcf-37bf-44d6-a989-26ed18a5ab77" /&gt;</description>
      <category>C++</category>
      <category>Consulting Life</category>
      <category>Seen and Recommended</category>
      <category>Speaking</category>
    </item>
    <item>
      <trackback:ping>http://www.gregcons.com/KateBlog/Trackback.aspx?guid=ce044208-f361-46f8-983f-bda38d7891b4</trackback:ping>
      <pingback:server>http://www.gregcons.com/KateBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=ce044208-f361-46f8-983f-bda38d7891b4</pingback:target>
      <dc:creator>Kate Gregory</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Next year, I'll be keynoting a new C++ conference, <a href="https://cpponsea.uk/index.html">C++
on Sea</a>. I'm really looking forward to it. A little while ago, they ran a "tweet
why you want to go" <a href="https://cpponsea.uk/news/win-a-free-ticket-for-cpp-on-sea.html">contest
for a free ticket</a>, and said that if the winner already had a ticket, the conference
would help the winner give away the ticket.
</p>
        <p>
Can you guess where this is going? <a href="https://cpponsea.uk/news/free-ticket-winner.html">I
won the ticket.</a> I already have one, so you can win mine. Here's what you need
to do:
</p>
        <ul>
          <li>
Choose a way to "give back" to your community before, during and after attending.
This might be blogging, tweeting, hosting a local meetup where you talk about what
you saw and recommend specific talks for others to watch later, or even activities
at the conference like giving a lightning talk. 
</li>
          <li>
Gather supporting links - to your blog, your repo, your YouTube Channel, the meetup
site, and so on 
</li>
          <li>
If your plan won't fit in a tweet, put it somewhere that it will fit. Include lots
of links - I want people to find your blog, channel, meetup etc even if you don't
win 
</li>
          <li>
Tweet me (<a href="https://twitter.com/gregcons">@gregcons</a>) with your plan or
a link to it. I will retweet. Focus on what you will give if you are able to attend
the conference.(It's not that I don't care whether you are deserving or can't afford
to go or whatever, I do, but I am going to focus on how you will share your good fortune
with others.)<br /></li>
          <li>
If you're not on Twitter, post on my public Facebook page. You can't just email me
because the idea is to promote those links to blogs, channels, meetups, and suchlike. 
</li>
        </ul>
        <p>
That's it! I'll choose someone, probably by filtering to everyone who is offering
to do something generous and then randomly choosing one, but I reserve the right to
choose the single person who comes up with the most amazing plan. I'll tell the conference
that you get my ticket. 
</p>
        <p>
Fine print: this is just admission to the conference. Not travel or hotel. Not paid
time off work. You'll need to cover that yourself. I suggest that telling your boss
you won the ticket because of your community involvement might be quite helpful as
far as that is concerned :-). And while I can't force you to keep your promise, I
will remember if you do, and that will probably be a good thing for you over and above
the rewards of doing those good things for the community.<br /></p>
        <p>
Good Luck!
</p>
        <p>
Kate
</p>
        <img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=ce044208-f361-46f8-983f-bda38d7891b4" />
      </body>
      <title>Win my ticket to C++ on Sea!</title>
      <guid isPermaLink="false">http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=ce044208-f361-46f8-983f-bda38d7891b4</guid>
      <link>http://www.gregcons.com/KateBlog/WinMyTicketToCOnSea.aspx</link>
      <pubDate>Mon, 03 Sep 2018 16:32:39 GMT</pubDate>
      <description>&lt;p&gt;
Next year, I'll be keynoting a new C++ conference, &lt;a href="https://cpponsea.uk/index.html"&gt;C++
on Sea&lt;/a&gt;. I'm really looking forward to it. A little while ago, they ran a "tweet
why you want to go" &lt;a href="https://cpponsea.uk/news/win-a-free-ticket-for-cpp-on-sea.html"&gt;contest
for a free ticket&lt;/a&gt;, and said that if the winner already had a ticket, the conference
would help the winner give away the ticket.
&lt;/p&gt;
&lt;p&gt;
Can you guess where this is going? &lt;a href="https://cpponsea.uk/news/free-ticket-winner.html"&gt;I
won the ticket.&lt;/a&gt; I already have one, so you can win mine. Here's what you need
to do:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
Choose a way to "give back" to your community before, during and after attending.
This might be blogging, tweeting, hosting a local meetup where you talk about what
you saw and recommend specific talks for others to watch later, or even activities
at the conference like giving a lightning talk. 
&lt;/li&gt;
&lt;li&gt;
Gather supporting links - to your blog, your repo, your YouTube Channel, the meetup
site, and so on 
&lt;/li&gt;
&lt;li&gt;
If your plan won't fit in a tweet, put it somewhere that it will fit. Include lots
of links - I want people to find your blog, channel, meetup etc even if you don't
win 
&lt;/li&gt;
&lt;li&gt;
Tweet me (&lt;a href="https://twitter.com/gregcons"&gt;@gregcons&lt;/a&gt;) with your plan or
a link to it. I will retweet. Focus on what you will give if you are able to attend
the conference.(It's not that I don't care whether you are deserving or can't afford
to go or whatever, I do, but I am going to focus on how you will share your good fortune
with others.)&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;
If you're not on Twitter, post on my public Facebook page. You can't just email me
because the idea is to promote those links to blogs, channels, meetups, and suchlike. 
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
That's it! I'll choose someone, probably by filtering to everyone who is offering
to do something generous and then randomly choosing one, but I reserve the right to
choose the single person who comes up with the most amazing plan. I'll tell the conference
that you get my ticket. 
&lt;/p&gt;
&lt;p&gt;
Fine print: this is just admission to the conference. Not travel or hotel. Not paid
time off work. You'll need to cover that yourself. I suggest that telling your boss
you won the ticket because of your community involvement might be quite helpful as
far as that is concerned :-). And while I can't force you to keep your promise, I
will remember if you do, and that will probably be a good thing for you over and above
the rewards of doing those good things for the community.&lt;br&gt;
&lt;/p&gt;
&lt;p&gt;
Good Luck!
&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=ce044208-f361-46f8-983f-bda38d7891b4" /&gt;</description>
      <category>C++</category>
      <category>Consulting Life</category>
      <category>Seen and Recommended</category>
      <category>Speaking</category>
      <category>Travel</category>
    </item>
    <item>
      <trackback:ping>http://www.gregcons.com/KateBlog/Trackback.aspx?guid=629fc891-e1ae-4f51-ad56-0a6d491ecb04</trackback:ping>
      <pingback:server>http://www.gregcons.com/KateBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=629fc891-e1ae-4f51-ad56-0a6d491ecb04</pingback:target>
      <dc:creator>Kate Gregory</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Here's what's coming up over the next few quarters:
</p>
        <ul>
          <li>
August 27-30: <a href="https://ndctechtown.com/speaker/kate-gregory/">NDC Techtown
(two talks)<br /></a></li>
          <li>
Sept 23-29: <a href="https://cppcon.org/">CppCon </a>(<a href="https://cppcon.org/engage-entertain-educate/">preconference
day</a>; main conference talks not yet announced)</li>
          <li>
Oct 18th-19th: <a href="https://pacificplusplus.com/">Pacific++</a> (two talks)</li>
          <ul>
            <li>
Submissions are still open so if you want to join me in Sydney as a presenter, get
on that!</li>
          </ul>
          <li>
Nov 15th-17th: <a href="http://meetingcpp.com/2018/">Meeting C++</a> - I will <b>not </b>be
speaking here (I just can't fit it in), but I want you to know it's happening</li>
          <li>
Feb 4th-6th 2019: <a href="https://cpponsea.uk/news/dates-and-keynote-speakers-announced.html">C++
on Sea</a> (keynote at this brand new conference)</li>
          <li>
April 2019 - ACCU (nothing announced yet, but I plan to be there)</li>
        </ul>
        <p>
I consider it an absolutely marvelous problem that there are so many C++ conferences
I can't go to them all! There are a number of smaller conferences that draw primarily
from one country or region, and more meetups than I can keep track of. I'm open to
talking at a meetup if I happen to be traveling to a city for business anyway, but
I don't think I can get up above 5 or 6 conferences a year, especially if some of
them involve keynotes, plenary sessions, or workshop days. It's a lot of work!
</p>
        <p>
Hope I get to see plenty of people in these various places,
</p>
        <p>
Kate<br /></p>
        <img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=629fc891-e1ae-4f51-ad56-0a6d491ecb04" />
      </body>
      <title>Latest Speaking Schedule</title>
      <guid isPermaLink="false">http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=629fc891-e1ae-4f51-ad56-0a6d491ecb04</guid>
      <link>http://www.gregcons.com/KateBlog/LatestSpeakingSchedule.aspx</link>
      <pubDate>Sat, 09 Jun 2018 20:24:48 GMT</pubDate>
      <description>&lt;p&gt;
Here's what's coming up over the next few quarters:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
August 27-30: &lt;a href="https://ndctechtown.com/speaker/kate-gregory/"&gt;NDC Techtown
(two talks)&lt;br&gt;
&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
Sept 23-29: &lt;a href="https://cppcon.org/"&gt;CppCon &lt;/a&gt;(&lt;a href="https://cppcon.org/engage-entertain-educate/"&gt;preconference
day&lt;/a&gt;; main conference talks not yet announced)&lt;/li&gt;
&lt;li&gt;
Oct 18th-19th: &lt;a href="https://pacificplusplus.com/"&gt;Pacific++&lt;/a&gt; (two talks)&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;
Submissions are still open so if you want to join me in Sydney as a presenter, get
on that!&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;
Nov 15th-17th: &lt;a href="http://meetingcpp.com/2018/"&gt;Meeting C++&lt;/a&gt; - I will &lt;b&gt;not &lt;/b&gt;be
speaking here (I just can't fit it in), but I want you to know it's happening&lt;/li&gt;
&lt;li&gt;
Feb 4th-6th 2019: &lt;a href="https://cpponsea.uk/news/dates-and-keynote-speakers-announced.html"&gt;C++
on Sea&lt;/a&gt; (keynote at this brand new conference)&lt;/li&gt;
&lt;li&gt;
April 2019 - ACCU (nothing announced yet, but I plan to be there)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
I consider it an absolutely marvelous problem that there are so many C++ conferences
I can't go to them all! There are a number of smaller conferences that draw primarily
from one country or region, and more meetups than I can keep track of. I'm open to
talking at a meetup if I happen to be traveling to a city for business anyway, but
I don't think I can get up above 5 or 6 conferences a year, especially if some of
them involve keynotes, plenary sessions, or workshop days. It's a lot of work!
&lt;/p&gt;
&lt;p&gt;
Hope I get to see plenty of people in these various places,
&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=629fc891-e1ae-4f51-ad56-0a6d491ecb04" /&gt;</description>
      <category>C++</category>
      <category>Consulting Life</category>
      <category>Seen and Recommended</category>
      <category>Speaking</category>
    </item>
    <item>
      <trackback:ping>http://www.gregcons.com/KateBlog/Trackback.aspx?guid=f28a820a-8245-4928-89da-25db827708bb</trackback:ping>
      <pingback:server>http://www.gregcons.com/KateBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=f28a820a-8245-4928-89da-25db827708bb</pingback:target>
      <dc:creator>Kate Gregory</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I had a very busy March and April, with travel and with preparing for those trips.
So I forgot to mention that my latest Pluralsight course is now live! It's called <a href="https://www.pluralsight.com/courses/cplusplus-fundamentals-c17">C++
Fundamentals Including C++ 17</a> and it's an update of my C++ Fundamentals course.
Here's what I changed:
</p>
        <ul>
          <li>
I made most of the demos a lot smaller, by breaking them into pieces or by putting
some of the material on slides instead</li>
          <li>
I made the slides less text-heavy, again mostly by splitting them up</li>
          <li>
I added diagrams to explain things that needed them</li>
          <li>
I added some C++ 14 and 17 content</li>
          <li>
I switched to a consistent "const after" style (aka east const)</li>
          <li>
I double checked every line of code for good style and consistency</li>
        </ul>
        <p>
I'm really pleased with the result. If you've already taken C++ Fundamentals you probably
don't need to take it again, but I hope you'll recommend to others that they take
the new one. I think it makes learning C++ less daunting than some other approaches
do.
</p>
        <p>
Kate
</p>
        <p>
ps: don't have a Pluralsight subscription? There's a link over there -------&gt; 
for a free trial.<br /></p>
        <img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=f28a820a-8245-4928-89da-25db827708bb" />
      </body>
      <title>Updated C++ Fundamentals course at Pluralsight</title>
      <guid isPermaLink="false">http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=f28a820a-8245-4928-89da-25db827708bb</guid>
      <link>http://www.gregcons.com/KateBlog/UpdatedCFundamentalsCourseAtPluralsight.aspx</link>
      <pubDate>Tue, 08 May 2018 21:27:06 GMT</pubDate>
      <description>&lt;p&gt;
I had a very busy March and April, with travel and with preparing for those trips.
So I forgot to mention that my latest Pluralsight course is now live! It's called &lt;a href="https://www.pluralsight.com/courses/cplusplus-fundamentals-c17"&gt;C++
Fundamentals Including C++ 17&lt;/a&gt; and it's an update of my C++ Fundamentals course.
Here's what I changed:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
I made most of the demos a lot smaller, by breaking them into pieces or by putting
some of the material on slides instead&lt;/li&gt;
&lt;li&gt;
I made the slides less text-heavy, again mostly by splitting them up&lt;/li&gt;
&lt;li&gt;
I added diagrams to explain things that needed them&lt;/li&gt;
&lt;li&gt;
I added some C++ 14 and 17 content&lt;/li&gt;
&lt;li&gt;
I switched to a consistent "const after" style (aka east const)&lt;/li&gt;
&lt;li&gt;
I double checked every line of code for good style and consistency&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
I'm really pleased with the result. If you've already taken C++ Fundamentals you probably
don't need to take it again, but I hope you'll recommend to others that they take
the new one. I think it makes learning C++ less daunting than some other approaches
do.
&lt;/p&gt;
&lt;p&gt;
Kate
&lt;/p&gt;
&lt;p&gt;
ps: don't have a Pluralsight subscription? There's a link over there -------&amp;gt;&amp;nbsp;
for a free trial.&lt;br&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=f28a820a-8245-4928-89da-25db827708bb" /&gt;</description>
      <category>C++</category>
      <category>C++ Guidelines</category>
    </item>
    <item>
      <trackback:ping>http://www.gregcons.com/KateBlog/Trackback.aspx?guid=b03d858d-231f-4a87-8cf8-1395d84c5b6e</trackback:ping>
      <pingback:server>http://www.gregcons.com/KateBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=b03d858d-231f-4a87-8cf8-1395d84c5b6e</pingback:target>
      <dc:creator>Kate Gregory</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
The <a href="https://conference.accu.org/2018/schedule.html">schedule for ACCU</a> has
now been released, and the Feb 20th early bird <a href="http://www.cvent.com/d/6tqq15">registration </a>deadline
is approaching, so I thought it was a good idea to mention my session there.
</p>
        <p>
          <img src="http://www.gregcons.com/KateBlog/content/binary/accu2018_369x124.png" width="247" height="83" border="0" />
        </p>
        <p>
          <a href="https://conference.accu.org/2018/sessions.html#XSimplicitynotjustforbeginners">Simplicity:
not just for beginners</a>
        </p>
        <blockquote>
          <p>
Many people say that simple code is better code, but fewer put it into practice. In
this talk I’ll spend a little time on why simpler is better, and why we resist simplicity.
Then I’ll provide some specific approaches that are likely to make your code simpler,
and discuss what you need to know and do in order to consistently write simpler code
and reap the benefits of that simplicity. Code samples will be in C++ and some material
will be C++-specific.
</p>
        </blockquote>
        <p>
I'll be joined by dozens of amazing speakers and the topics will be wide-ranging.
It's not all C++, and I'm looking forward to a little mind-expanding from some session
I didn't expect to do so. The pub quiz and lightning talks will also be good fun.
April 11th to 14th in Bristol - will I see you there?
</p>
        <p>
Kate<br /></p>
        <img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=b03d858d-231f-4a87-8cf8-1395d84c5b6e" />
      </body>
      <title>Speaking at ACCU in April</title>
      <guid isPermaLink="false">http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=b03d858d-231f-4a87-8cf8-1395d84c5b6e</guid>
      <link>http://www.gregcons.com/KateBlog/SpeakingAtACCUInApril.aspx</link>
      <pubDate>Wed, 14 Feb 2018 00:07:13 GMT</pubDate>
      <description>&lt;p&gt;
The &lt;a href="https://conference.accu.org/2018/schedule.html"&gt;schedule for ACCU&lt;/a&gt; has
now been released, and the Feb 20th early bird &lt;a href="http://www.cvent.com/d/6tqq15"&gt;registration &lt;/a&gt;deadline
is approaching, so I thought it was a good idea to mention my session there.
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://www.gregcons.com/KateBlog/content/binary/accu2018_369x124.png" width="247" height="83" border="0"&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="https://conference.accu.org/2018/sessions.html#XSimplicitynotjustforbeginners"&gt;Simplicity:
not just for beginners&lt;/a&gt;
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
Many people say that simple code is better code, but fewer put it into practice. In
this talk I’ll spend a little time on why simpler is better, and why we resist simplicity.
Then I’ll provide some specific approaches that are likely to make your code simpler,
and discuss what you need to know and do in order to consistently write simpler code
and reap the benefits of that simplicity. Code samples will be in C++ and some material
will be C++-specific.
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
I'll be joined by dozens of amazing speakers and the topics will be wide-ranging.
It's not all C++, and I'm looking forward to a little mind-expanding from some session
I didn't expect to do so. The pub quiz and lightning talks will also be good fun.
April 11th to 14th in Bristol - will I see you there?
&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=b03d858d-231f-4a87-8cf8-1395d84c5b6e" /&gt;</description>
      <category>C++</category>
      <category>C++ Guidelines</category>
      <category>Speaking</category>
      <category>Travel</category>
    </item>
    <item>
      <trackback:ping>http://www.gregcons.com/KateBlog/Trackback.aspx?guid=6f864c8f-ed04-441b-8b57-0a55bf82fc72</trackback:ping>
      <pingback:server>http://www.gregcons.com/KateBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=6f864c8f-ed04-441b-8b57-0a55bf82fc72</pingback:target>
      <dc:creator>Kate Gregory</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">In 2016 I didn't speak at conferences because
I was ill. I really enjoyed getting "back in harness" at CppCon this year (<a href="https://www.youtube.com/watch?v=XkDEzfpdcSg">my
Guidelines talk</a> has been uploaded already, if you missed it) and I am happily
looking forward to my next two conferences.<br /><br />
In Berlin I will deliver one of the <a href="http://meetingcpp.com/meetingcpp/news/items/Keynotes-at-Meeting-Cpp-2017.html">keynotes
for Meeting C++</a>. It will be one of those opinionated talks with stories in it,
plus code of course. I love giving those kinds of talks and they're typically well-received,
so I am expecting to have a great time. This will be my first time at Meeting C++
and I know it will be a great conference.<br /><br />
The next week, I will be at the <a href="http://cpp-summit.org/en">2017 C++ and System
Software Summit</a> in Beijing. 8 tracks and over 500 attendees; this is a big conference.
I've never been to Asia before, so I am very excited to meet a lot of new people (and
some I've known for a while, the speaker circuit is like that) as well as seeing new
places and experiencing a new conference. 
<br /><br />
I'm still thinking about what I will <a href="https://cfp.conference.accu.org/">submit
to ACCU</a> for the spring. I prefer to do a new talk for each conference or at least
to update existing talks dramatically. I will need to make up my mind before I leave
for China!<br /><br />
Kate<br /><p></p><img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=6f864c8f-ed04-441b-8b57-0a55bf82fc72" /></body>
      <title>Speaking in November: Berlin and Beijing</title>
      <guid isPermaLink="false">http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=6f864c8f-ed04-441b-8b57-0a55bf82fc72</guid>
      <link>http://www.gregcons.com/KateBlog/SpeakingInNovemberBerlinAndBeijing.aspx</link>
      <pubDate>Thu, 19 Oct 2017 12:08:43 GMT</pubDate>
      <description>In 2016 I didn't speak at conferences because I was ill. I really enjoyed getting "back in harness" at CppCon this year (&lt;a href="https://www.youtube.com/watch?v=XkDEzfpdcSg"&gt;my
Guidelines talk&lt;/a&gt; has been uploaded already, if you missed it) and I am happily
looking forward to my next two conferences.&lt;br&gt;
&lt;br&gt;
In Berlin I will deliver one of the &lt;a href="http://meetingcpp.com/meetingcpp/news/items/Keynotes-at-Meeting-Cpp-2017.html"&gt;keynotes
for Meeting C++&lt;/a&gt;. It will be one of those opinionated talks with stories in it,
plus code of course. I love giving those kinds of talks and they're typically well-received,
so I am expecting to have a great time. This will be my first time at Meeting C++
and I know it will be a great conference.&lt;br&gt;
&lt;br&gt;
The next week, I will be at the &lt;a href="http://cpp-summit.org/en"&gt;2017 C++ and System
Software Summit&lt;/a&gt; in Beijing. 8 tracks and over 500 attendees; this is a big conference.
I've never been to Asia before, so I am very excited to meet a lot of new people (and
some I've known for a while, the speaker circuit is like that) as well as seeing new
places and experiencing a new conference. 
&lt;br&gt;
&lt;br&gt;
I'm still thinking about what I will &lt;a href="https://cfp.conference.accu.org/"&gt;submit
to ACCU&lt;/a&gt; for the spring. I prefer to do a new talk for each conference or at least
to update existing talks dramatically. I will need to make up my mind before I leave
for China!&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=6f864c8f-ed04-441b-8b57-0a55bf82fc72" /&gt;</description>
      <category>C++</category>
      <category>C++ Guidelines</category>
      <category>Consulting Life</category>
      <category>Speaking</category>
      <category>Travel</category>
    </item>
    <item>
      <trackback:ping>http://www.gregcons.com/KateBlog/Trackback.aspx?guid=207e6846-62f3-496e-96e8-55d4897759f9</trackback:ping>
      <pingback:server>http://www.gregcons.com/KateBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=207e6846-62f3-496e-96e8-55d4897759f9</pingback:target>
      <dc:creator>Kate Gregory</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
This week, I’ve been in Salt Lake City for the Pluralsight Author Summit and the first-ever
PluralsightLIVE event. What a great time! This is my first time on a plane in over
two years, and it is terrific to be out traveling again.
</p>
        <p>
Pluralsight takes great care of its authors and that started with a lovely box of
goodies in my room the first night. 
</p>
        <p>
          <img src="http://www.gregcons.com/KateBlog/content/binary/20170919_074102 small.jpg" border="0" />
        </p>
        <p>
Tuesday we all got together to hear about the past growth and future vision for Pluralsight,
and to get a sneak peek at some things that would be announced later in the week.
And of course, for Aaron to get a selfie with the authors!
</p>
        <p>
          <img src="http://www.gregcons.com/KateBlog/content/binary/aaron selfie pslive.jpg" width="600" border="0" />
        </p>
        <p>
In the afternoon, we had open sessions where we learned from some Pluralsight staff
we don’t normally get to meet, and from each other. What makes you a great author
in the eyes of your editor and the other people who help to get your material published
and live? How can you get your courses recorded faster? Geeky talk about microphones
and other tools of our trade, of promo videos on YouTube, and so many other things
we all really wanted to talk about.
</p>
        <p>
PluralsightLIVE itself started Tuesday night with a reception in the partner pavilion
and an evening event I wasn’t able to stay up for. 
</p>
        <p>
          <img src="http://www.gregcons.com/KateBlog/content/binary/20170920_090940 small.jpg" border="0" />
          <img src="http://www.gregcons.com/KateBlog/content/binary/20170920_102333 small.jpg" border="0" />
          <img src="http://www.gregcons.com/KateBlog/content/binary/20170920_180239 small.jpg" border="0" />
        </p>
        <p>
That's my shirt being printed on the spot for me!
</p>
        <p>
          <img src="http://www.gregcons.com/KateBlog/content/binary/20170920_195827 small.jpg" border="0" />
        </p>
        <p>
That's the very popular candy dispenser array.
</p>
        <p>
I’ve been to a LOT of conferences and most of them look pretty generic. Here there
was just so much effort showing: the fun activities like huge Jenga, Connect 4, and
similar games, the couches everywhere (with power and USB ports so you could charge
whatever you needed to charge), the large easy-to-spot-and-read signage, and more.
It was clear the organizers were really caring about the wellbeing and happiness of
all the attendees.
</p>
        <p>
There were a lot of keynotes. Wednesday and Thursday both had keynotes the whole morning,
and Thursday also had an afternoon keynote. These were entertaining, inspirational,
educational, and really worth my time. I was especially looking forward to Joel Spolsky
on Wednesday morning and he didn’t disappoint. He was funny and open. He also announced
that Stack Exchange users will all get 60 free days of Pluralsight training. I hope
some of them use it to take <a href="https://app.pluralsight.com/library/courses/using-stackoverflow-stackexchange-sites">my
Stack Exchange course</a>! Then he liked my tweet afterwards so that was fun.
</p>
        <blockquote>
          <p>
(If you want to take <a href="https://app.pluralsight.com/profile/author/kate-gregory">one
of my courses</a>, and don't have a subscription, there's a grey rectangle over the
right that says Author: click it and you can get a ten-day free trial.)<br /></p>
        </blockquote>
        <p>
          <img src="http://www.gregcons.com/KateBlog/content/binary/20170920_111751 cropped small.jpg" border="0" />
          <img src="http://www.gregcons.com/KateBlog/content/binary/20170920_123339 cropped small.jpg" border="0" />
          <img src="http://www.gregcons.com/KateBlog/content/binary/20170921_123934 cropped small.jpg" border="0" />
          <img src="http://www.gregcons.com/KateBlog/content/binary/20170921_111732 cropped small.jpg" border="0" />
        </p>
        <p>
When I wasn’t in keynotes, I was meeting other attendees and Pluralsight authors.
Many of the authors are friends I haven’t seen in far too long, so it was tough to
tear myself away, but I forced myself, because meeting learners is what this week
was about for me. It was especially helpful to talk to managers and team leaders who
want to know how their people are using their subscriptions. The Pluralsight IQ announcement
[link] was very well received both by learners who wanted to show off their scores,
and managers who wanted to track a team’s progress.
</p>
        <p>
I took the C++ assessment, but I zipped through it a little too quickly and some questions
needed more thought than I gave them. Still, I did ok:
</p>
        <p>
          <img src="http://www.gregcons.com/KateBlog/content/binary/score.jpg" width="400" border="0" />
        </p>
        <p>
After I tweeted my results, a whole pile of my C++ tribe also <a href="https://www.pluralsight.com/product/pluralsight-iq">got
their scores</a>, and I even outscored a few! (Plus, I think they found a few bugs
in the assessment – I’m going to get them fixed.)
</p>
        <p>
The afternoon keynotes on Thursday wrapped up with Michelle Obama talking about diversity,
education, children, and much more. I hadn’t heard her speak before other than sound
bites on the news, and I was really impressed. She was warm and funny and willing
to show irritation or frustration as well as the polished pleasantness I was expecting.
</p>
        <p>
          <img src="http://www.gregcons.com/KateBlog/content/binary/20170921_180704 cropped small.jpg" border="0" />
        </p>
        <p>
Next year’s dates have already been announced: the week of August 26th, 2018. I’m
planning to be there. If you take Pluralsight courses (and come on, you should be
taking Pluralsight courses) then consider it too. There was a lot of good content
in a wonderful atmosphere, a chance to meet all kinds of interesting people, and a
few days to put learning and growing front and centre – time well spent for me.
</p>
        <p>
Kate
</p>
        <img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=207e6846-62f3-496e-96e8-55d4897759f9" />
      </body>
      <title>PluralsightLIVE and Author Summit</title>
      <guid isPermaLink="false">http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=207e6846-62f3-496e-96e8-55d4897759f9</guid>
      <link>http://www.gregcons.com/KateBlog/PluralsightLIVEAndAuthorSummit.aspx</link>
      <pubDate>Sat, 23 Sep 2017 13:50:51 GMT</pubDate>
      <description>&lt;p&gt;
This week, I’ve been in Salt Lake City for the Pluralsight Author Summit and the first-ever
PluralsightLIVE event. What a great time! This is my first time on a plane in over
two years, and it is terrific to be out traveling again.
&lt;/p&gt;
&lt;p&gt;
Pluralsight takes great care of its authors and that started with a lovely box of
goodies in my room the first night. 
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://www.gregcons.com/KateBlog/content/binary/20170919_074102 small.jpg" border="0"&gt;
&lt;/p&gt;
&lt;p&gt;
Tuesday we all got together to hear about the past growth and future vision for Pluralsight,
and to get a sneak peek at some things that would be announced later in the week.
And of course, for Aaron to get a selfie with the authors!
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://www.gregcons.com/KateBlog/content/binary/aaron selfie pslive.jpg" width="600" border="0"&gt;
&lt;/p&gt;
&lt;p&gt;
In the afternoon, we had open sessions where we learned from some Pluralsight staff
we don’t normally get to meet, and from each other. What makes you a great author
in the eyes of your editor and the other people who help to get your material published
and live? How can you get your courses recorded faster? Geeky talk about microphones
and other tools of our trade, of promo videos on YouTube, and so many other things
we all really wanted to talk about.
&lt;/p&gt;
&lt;p&gt;
PluralsightLIVE itself started Tuesday night with a reception in the partner pavilion
and an evening event I wasn’t able to stay up for. 
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://www.gregcons.com/KateBlog/content/binary/20170920_090940 small.jpg" border="0"&gt; &lt;img src="http://www.gregcons.com/KateBlog/content/binary/20170920_102333 small.jpg" border="0"&gt; &lt;img src="http://www.gregcons.com/KateBlog/content/binary/20170920_180239 small.jpg" border="0"&gt; 
&lt;/p&gt;
&lt;p&gt;
That's my shirt being printed on the spot for me!
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://www.gregcons.com/KateBlog/content/binary/20170920_195827 small.jpg" border="0"&gt;
&lt;/p&gt;
&lt;p&gt;
That's the very popular candy dispenser array.
&lt;/p&gt;
&lt;p&gt;
I’ve been to a LOT of conferences and most of them look pretty generic. Here there
was just so much effort showing: the fun activities like huge Jenga, Connect 4, and
similar games, the couches everywhere (with power and USB ports so you could charge
whatever you needed to charge), the large easy-to-spot-and-read signage, and more.
It was clear the organizers were really caring about the wellbeing and happiness of
all the attendees.
&lt;/p&gt;
&lt;p&gt;
There were a lot of keynotes. Wednesday and Thursday both had keynotes the whole morning,
and Thursday also had an afternoon keynote. These were entertaining, inspirational,
educational, and really worth my time. I was especially looking forward to Joel Spolsky
on Wednesday morning and he didn’t disappoint. He was funny and open. He also announced
that Stack Exchange users will all get 60 free days of Pluralsight training. I hope
some of them use it to take &lt;a href="https://app.pluralsight.com/library/courses/using-stackoverflow-stackexchange-sites"&gt;my
Stack Exchange course&lt;/a&gt;! Then he liked my tweet afterwards so that was fun.
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
(If you want to take &lt;a href="https://app.pluralsight.com/profile/author/kate-gregory"&gt;one
of my courses&lt;/a&gt;, and don't have a subscription, there's a grey rectangle over the
right that says Author: click it and you can get a ten-day free trial.)&lt;br&gt;
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;
&lt;img src="http://www.gregcons.com/KateBlog/content/binary/20170920_111751 cropped small.jpg" border="0"&gt; &lt;img src="http://www.gregcons.com/KateBlog/content/binary/20170920_123339 cropped small.jpg" border="0"&gt;&lt;img src="http://www.gregcons.com/KateBlog/content/binary/20170921_123934 cropped small.jpg" border="0"&gt; &lt;img src="http://www.gregcons.com/KateBlog/content/binary/20170921_111732 cropped small.jpg" border="0"&gt;
&lt;/p&gt;
&lt;p&gt;
When I wasn’t in keynotes, I was meeting other attendees and Pluralsight authors.
Many of the authors are friends I haven’t seen in far too long, so it was tough to
tear myself away, but I forced myself, because meeting learners is what this week
was about for me. It was especially helpful to talk to managers and team leaders who
want to know how their people are using their subscriptions. The Pluralsight IQ announcement
[link] was very well received both by learners who wanted to show off their scores,
and managers who wanted to track a team’s progress.
&lt;/p&gt;
&lt;p&gt;
I took the C++ assessment, but I zipped through it a little too quickly and some questions
needed more thought than I gave them. Still, I did ok:
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://www.gregcons.com/KateBlog/content/binary/score.jpg" width="400" border="0"&gt;
&lt;/p&gt;
&lt;p&gt;
After I tweeted my results, a whole pile of my C++ tribe also &lt;a href="https://www.pluralsight.com/product/pluralsight-iq"&gt;got
their scores&lt;/a&gt;, and I even outscored a few! (Plus, I think they found a few bugs
in the assessment – I’m going to get them fixed.)
&lt;/p&gt;
&lt;p&gt;
The afternoon keynotes on Thursday wrapped up with Michelle Obama talking about diversity,
education, children, and much more. I hadn’t heard her speak before other than sound
bites on the news, and I was really impressed. She was warm and funny and willing
to show irritation or frustration as well as the polished pleasantness I was expecting.
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://www.gregcons.com/KateBlog/content/binary/20170921_180704 cropped small.jpg" border="0"&gt;
&lt;/p&gt;
&lt;p&gt;
Next year’s dates have already been announced: the week of August 26th, 2018. I’m
planning to be there. If you take Pluralsight courses (and come on, you should be
taking Pluralsight courses) then consider it too. There was a lot of good content
in a wonderful atmosphere, a chance to meet all kinds of interesting people, and a
few days to put learning and growing front and centre – time well spent for me.
&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=207e6846-62f3-496e-96e8-55d4897759f9" /&gt;</description>
      <category>C++</category>
      <category>Consulting Life</category>
    </item>
    <item>
      <trackback:ping>http://www.gregcons.com/KateBlog/Trackback.aspx?guid=0d5f4bbb-1c90-4539-b3e4-1cdeac9a0968</trackback:ping>
      <pingback:server>http://www.gregcons.com/KateBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=0d5f4bbb-1c90-4539-b3e4-1cdeac9a0968</pingback:target>
      <dc:creator>Kate Gregory</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
This year's innovation at <a href="https://cppcon.org/">CppCon </a>is a <a href="https://cppcon2017.sched.com/event/BhdF">Meet
the Speakers Dinner</a> Thursday night. It's pretty expensive ($100) because the venue
is charging a lot for it, but here's your chance to relax over dinner with many of
the speakers from CppCon. If you've registered for the conference but haven't bought
a dinner ticket yet, please do! We want to meet attendees and this is a great way
to do it. I've been an attendee at speaker dinners at other conferences and I have
to say it's always been a highlight of the conference for me. Career advice from Bjarne
himself over (excellent) dessert? Yes please!<br /></p>
        <p>
I can't guarantee you Bjarne (or even me) but you will be asked if there's someone
you want to sit with, and the organizers will do their best to accommodate you. 
<br /></p>
        <img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=0d5f4bbb-1c90-4539-b3e4-1cdeac9a0968" />
      </body>
      <title>Let's Have Dinner at CppCon</title>
      <guid isPermaLink="false">http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=0d5f4bbb-1c90-4539-b3e4-1cdeac9a0968</guid>
      <link>http://www.gregcons.com/KateBlog/LetsHaveDinnerAtCppCon.aspx</link>
      <pubDate>Mon, 11 Sep 2017 20:01:06 GMT</pubDate>
      <description>&lt;p&gt;
This year's innovation at &lt;a href="https://cppcon.org/"&gt;CppCon &lt;/a&gt;is a &lt;a href="https://cppcon2017.sched.com/event/BhdF"&gt;Meet
the Speakers Dinner&lt;/a&gt; Thursday night. It's pretty expensive ($100) because the venue
is charging a lot for it, but here's your chance to relax over dinner with many of
the speakers from CppCon. If you've registered for the conference but haven't bought
a dinner ticket yet, please do! We want to meet attendees and this is a great way
to do it. I've been an attendee at speaker dinners at other conferences and I have
to say it's always been a highlight of the conference for me. Career advice from Bjarne
himself over (excellent) dessert? Yes please!&lt;br&gt;
&lt;/p&gt;
&lt;p&gt;
I can't guarantee you Bjarne (or even me) but you will be asked if there's someone
you want to sit with, and the organizers will do their best to accommodate you. 
&lt;br&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=0d5f4bbb-1c90-4539-b3e4-1cdeac9a0968" /&gt;</description>
      <category>C++</category>
      <category>Consulting Life</category>
      <category>Speaking</category>
    </item>
    <item>
      <trackback:ping>http://www.gregcons.com/KateBlog/Trackback.aspx?guid=a920f1a8-3291-49be-a64f-7cc483e7b95a</trackback:ping>
      <pingback:server>http://www.gregcons.com/KateBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=a920f1a8-3291-49be-a64f-7cc483e7b95a</pingback:target>
      <dc:creator>Kate Gregory</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I am happy to announce that my submission to <a href="https://cppcon.org/">CppCon </a>has
been accepted!
</p>
        <p>
          <img src="http://www.gregcons.com/KateBlog/content/binary/weblogo.jpg" width="600" border="0" />
        </p>
        <blockquote>
          <p>
            <b>10 Core Guidelines You Need to Start Using Now</b>
          </p>
          <p>
The C++ Core Guidelines were announced at CppCon 2015, yet some developers have still
never heard of them. It's time to see what they have to offer for you, no matter how
much C++ experience you have. You don't need to read and learn the whole thing: in
this talk I am pulling out some highlights of the Guidelines to show you why you should
be using these selected guidelines. For each one I'll show some examples, and discuss
the benefit of adopting them for new code or going back into old code to make a change.
</p>
          <p>
Beginners who find the sheer size of the language and library daunting should be able
to rely on the Guidelines to help make sane choices when there are many ways to do
things. Experienced C++ developers may need to leave some of their habits behind.
Developers along this spectrum could benefit from seeing what the Guidelines have
to offer, yet the guidelines themselves are just too big to absorb all at once. My
examples will be chosen to be beginner-friendly and the focus will be on what's in
it for you: faster code, less bugs, and other tangible benefits.
</p>
        </blockquote>
        <p>
I am so looking forward to seeing "my tribe" again in Bellevue this year. I'm going
on the <a href="https://cppcon.org/2017fieldtrip/">field trip</a> too! If you haven't <a href="https://cppcon.org/registration/">registered </a>yet,
get on that!
</p>
        <p>
Kate
</p>
        <img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=a920f1a8-3291-49be-a64f-7cc483e7b95a" />
      </body>
      <title>My CppCon talk</title>
      <guid isPermaLink="false">http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=a920f1a8-3291-49be-a64f-7cc483e7b95a</guid>
      <link>http://www.gregcons.com/KateBlog/MyCppConTalk.aspx</link>
      <pubDate>Fri, 21 Jul 2017 17:03:59 GMT</pubDate>
      <description>&lt;p&gt;
I am happy to announce that my submission to &lt;a href="https://cppcon.org/"&gt;CppCon &lt;/a&gt;has
been accepted!
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://www.gregcons.com/KateBlog/content/binary/weblogo.jpg" width="600" border="0"&gt;
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
&lt;b&gt;10 Core Guidelines You Need to Start Using Now&lt;/b&gt;
&lt;/p&gt;
&lt;p&gt;
The C++ Core Guidelines were announced at CppCon 2015, yet some developers have still
never heard of them. It's time to see what they have to offer for you, no matter how
much C++ experience you have. You don't need to read and learn the whole thing: in
this talk I am pulling out some highlights of the Guidelines to show you why you should
be using these selected guidelines. For each one I'll show some examples, and discuss
the benefit of adopting them for new code or going back into old code to make a change.
&lt;/p&gt;
&lt;p&gt;
Beginners who find the sheer size of the language and library daunting should be able
to rely on the Guidelines to help make sane choices when there are many ways to do
things. Experienced C++ developers may need to leave some of their habits behind.
Developers along this spectrum could benefit from seeing what the Guidelines have
to offer, yet the guidelines themselves are just too big to absorb all at once. My
examples will be chosen to be beginner-friendly and the focus will be on what's in
it for you: faster code, less bugs, and other tangible benefits.
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
I am so looking forward to seeing "my tribe" again in Bellevue this year. I'm going
on the &lt;a href="https://cppcon.org/2017fieldtrip/"&gt;field trip&lt;/a&gt; too! If you haven't &lt;a href="https://cppcon.org/registration/"&gt;registered &lt;/a&gt;yet,
get on that!
&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=a920f1a8-3291-49be-a64f-7cc483e7b95a" /&gt;</description>
      <category>C++</category>
      <category>C++ Guidelines</category>
      <category>Speaking</category>
      <category>Travel</category>
    </item>
    <item>
      <trackback:ping>http://www.gregcons.com/KateBlog/Trackback.aspx?guid=0cb9992e-9e52-4438-8a19-911fe3f297ab</trackback:ping>
      <pingback:server>http://www.gregcons.com/KateBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=0cb9992e-9e52-4438-8a19-911fe3f297ab</pingback:target>
      <dc:creator>Kate Gregory</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I had to curtail my activities pretty dramatically in the second half of 2016, even
in areas like mailing list participation or answering questions on StackOverflow.
I was beginning to wonder if I would qualify for Visual C++ MVP again without conference
talks or some of my other usual activities. No-one should ever assume they will be
awarded; the program is always changing and our lives are always changing, so anyone
can find themselves out of sync with the requirements of a program. However, I'm happy
to learn that <a href="https://mvp.microsoft.com/en-us/PublicProfile/9511?fullName=Kate%20%20Gregory">I
have been renewed for 2017</a> and will continue to be part of this active community. 
<br /></p>
        <p>
Looking forward to a terrific 2017,
</p>
        <p>
Kate<br /></p>
        <img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=0cb9992e-9e52-4438-8a19-911fe3f297ab" />
      </body>
      <title>Still an MVP!</title>
      <guid isPermaLink="false">http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=0cb9992e-9e52-4438-8a19-911fe3f297ab</guid>
      <link>http://www.gregcons.com/KateBlog/StillAnMVP.aspx</link>
      <pubDate>Wed, 04 Jan 2017 17:08:17 GMT</pubDate>
      <description>&lt;p&gt;
I had to curtail my activities pretty dramatically in the second half of 2016, even
in areas like mailing list participation or answering questions on StackOverflow.
I was beginning to wonder if I would qualify for Visual C++ MVP again without conference
talks or some of my other usual activities. No-one should ever assume they will be
awarded; the program is always changing and our lives are always changing, so anyone
can find themselves out of sync with the requirements of a program. However, I'm happy
to learn that &lt;a href="https://mvp.microsoft.com/en-us/PublicProfile/9511?fullName=Kate%20%20Gregory"&gt;I
have been renewed for 2017&lt;/a&gt; and will continue to be part of this active community. 
&lt;br&gt;
&lt;/p&gt;
&lt;p&gt;
Looking forward to a terrific 2017,
&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=0cb9992e-9e52-4438-8a19-911fe3f297ab" /&gt;</description>
      <category>C++</category>
      <category>Consulting Life</category>
      <category>MVP</category>
    </item>
    <item>
      <trackback:ping>http://www.gregcons.com/KateBlog/Trackback.aspx?guid=80b293ba-6e73-4a96-a1c1-6a789cce54eb</trackback:ping>
      <pingback:server>http://www.gregcons.com/KateBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=80b293ba-6e73-4a96-a1c1-6a789cce54eb</pingback:target>
      <dc:creator>Kate Gregory</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">It has been a <b>very </b>busy summer for
me. Mostly it's been great, with family visits from all over the world and the wedding
of my oldest child. But there have been some challenges, too. Without going into details,
I've had to cancel plans to speak at (and even attend) <a href="http://cppcon.org/">CppCon</a>.
This is really sad - CppCon was the largest C++ conference ever when it started in
2014, and has grown remarkably ever since. It's a place where I learn new things,
make new friends and contacts, and meet old friends for a wonderful week of laughter,
in-jokes, and brain-stretching. 
<br /><br />
I am hoping that within a few months, I'll be "back in the saddle" again and planning
a 2017 full of speaking and learning. In the meantime, I'll be following <a href="https://twitter.com/hashtag/CppCon?src=hash">#CppCon</a> on
twitter, and watching <a href="http://youtube.com/cppcon">the YouTube channel</a> for
new videos - the plenaries and keynotes get up really fast. If you're not there in
person, be there virtually like me!<br /><br />
Kate<br /><p></p><img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=80b293ba-6e73-4a96-a1c1-6a789cce54eb" /></body>
      <title>Not at CppCon</title>
      <guid isPermaLink="false">http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=80b293ba-6e73-4a96-a1c1-6a789cce54eb</guid>
      <link>http://www.gregcons.com/KateBlog/NotAtCppCon.aspx</link>
      <pubDate>Fri, 16 Sep 2016 14:59:08 GMT</pubDate>
      <description>It has been a &lt;b&gt;very &lt;/b&gt;busy summer for me. Mostly it's been great, with family
visits from all over the world and the wedding of my oldest child. But there have
been some challenges, too. Without going into details, I've had to cancel plans to
speak at (and even attend) &lt;a href="http://cppcon.org/"&gt;CppCon&lt;/a&gt;. This is really
sad - CppCon was the largest C++ conference ever when it started in 2014, and has
grown remarkably ever since. It's a place where I learn new things, make new friends
and contacts, and meet old friends for a wonderful week of laughter, in-jokes, and
brain-stretching. 
&lt;br&gt;
&lt;br&gt;
I am hoping that within a few months, I'll be "back in the saddle" again and planning
a 2017 full of speaking and learning. In the meantime, I'll be following &lt;a href="https://twitter.com/hashtag/CppCon?src=hash"&gt;#CppCon&lt;/a&gt; on
twitter, and watching &lt;a href="http://youtube.com/cppcon"&gt;the YouTube channel&lt;/a&gt; for
new videos - the plenaries and keynotes get up really fast. If you're not there in
person, be there virtually like me!&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=80b293ba-6e73-4a96-a1c1-6a789cce54eb" /&gt;</description>
      <category>C++</category>
      <category>Consulting Life</category>
      <category>Meta</category>
      <category>Speaking</category>
    </item>
    <item>
      <trackback:ping>http://www.gregcons.com/KateBlog/Trackback.aspx?guid=44ea286b-5d0e-4dca-b4be-e8426a4fa2f8</trackback:ping>
      <pingback:server>http://www.gregcons.com/KateBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=44ea286b-5d0e-4dca-b4be-e8426a4fa2f8</pingback:target>
      <dc:creator>Kate Gregory</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I've started a C++ column in Visual Studio Magazine. I'm sure you've read plenty of
C++ columns in your time - I sure have! I wanted this one to be a little different.
So, here's what I've decided to do. For each column, I choose a guidelines from the
C++ Core Guidelines, and then explain it. But the twist is that I'm not going through
the guidelines from top to bottom - I'm picking guidelines whose explanations require
a little language knowledge.
</p>
        <p>
          <a href="https://visualstudiomagazine.com/articles/2016/04/19/intro-to-cpp-core-guidelines.aspx">The
first column</a> just sets the stage and explains what I'm doing, and gives you a
link to the Guidelines. The second, <a href="https://visualstudiomagazine.com/articles/2016/04/26/dont-cast-away-const-in-cpp.aspx">Don't
Cast Away Const</a>, explains the guideline, but also the consequences of const-correctness,
a typical situation where you might find it hard to stay const-correct when you make
a performance tweak to a running system, and the correct use of the mutable keyword.
Not bad for explaining a four-word guideline!
</p>
        <p>
I have a number of columns already written and plans to write more. Please check them
out and spread the word!
</p>
        <p>
Kate
</p>
        <img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=44ea286b-5d0e-4dca-b4be-e8426a4fa2f8" />
      </body>
      <title>New Column in Visual Studio Magazine</title>
      <guid isPermaLink="false">http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=44ea286b-5d0e-4dca-b4be-e8426a4fa2f8</guid>
      <link>http://www.gregcons.com/KateBlog/NewColumnInVisualStudioMagazine.aspx</link>
      <pubDate>Fri, 29 Apr 2016 21:17:26 GMT</pubDate>
      <description>&lt;p&gt;
I've started a C++ column in Visual Studio Magazine. I'm sure you've read plenty of
C++ columns in your time - I sure have! I wanted this one to be a little different.
So, here's what I've decided to do. For each column, I choose a guidelines from the
C++ Core Guidelines, and then explain it. But the twist is that I'm not going through
the guidelines from top to bottom - I'm picking guidelines whose explanations require
a little language knowledge.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="https://visualstudiomagazine.com/articles/2016/04/19/intro-to-cpp-core-guidelines.aspx"&gt;The
first column&lt;/a&gt; just sets the stage and explains what I'm doing, and gives you a
link to the Guidelines. The second, &lt;a href="https://visualstudiomagazine.com/articles/2016/04/26/dont-cast-away-const-in-cpp.aspx"&gt;Don't
Cast Away Const&lt;/a&gt;, explains the guideline, but also the consequences of const-correctness,
a typical situation where you might find it hard to stay const-correct when you make
a performance tweak to a running system, and the correct use of the mutable keyword.
Not bad for explaining a four-word guideline!
&lt;/p&gt;
&lt;p&gt;
I have a number of columns already written and plans to write more. Please check them
out and spread the word!
&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=44ea286b-5d0e-4dca-b4be-e8426a4fa2f8" /&gt;</description>
      <category>C++</category>
      <category>C++ Guidelines</category>
      <category>Mentoring</category>
      <category>Seen and Recommended</category>
    </item>
    <item>
      <trackback:ping>http://www.gregcons.com/KateBlog/Trackback.aspx?guid=defc6bbc-c40d-4b4d-ac69-c46c14482550</trackback:ping>
      <pingback:server>http://www.gregcons.com/KateBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=defc6bbc-c40d-4b4d-ac69-c46c14482550</pingback:target>
      <dc:creator>Kate Gregory</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">My latest Pluralsight course is live! It's
called <a href="https://www.pluralsight.com/courses/cplusplus-core-guidelines-and-support-library-first-look">First
Look: C++ Core Guidelines and the Guideline Support Library</a> and it introduces
the guidelines and why you might want to use them, as well as some preliminary tool
support. As always, if you need a free trial, use the link in the sidebar on the right.<br /><br />
Pluralsight courses now have trailers. This is my first course with one and it turned
out a lot better than I expected. You don't need a subscription to watch the trailer
- just go to the <a href="https://www.pluralsight.com/courses/cplusplus-core-guidelines-and-support-library-first-look">course
page, </a>and over on the right side there are these downward pointing triangles next
to time lengths. Click the one for Course Overview which is 1m 49s, and you'll see
one entry under it that also says Course Overview 1m 49s. 
<br /><br /><img src="http://www.gregcons.com/KateBlog/content/binary/overview.jpg" height="177" width="465" border="0" /><br /><br />
Click that and the player will open and play the trailer. I did the voice recording,
and some Pluralsight elves put together visuals (some are excerpts from demos) around
it. I like it! Let me know what you think.<br /><br />
Kate<br /><img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=defc6bbc-c40d-4b4d-ac69-c46c14482550" /></body>
      <title>Quick course (98 minutes) to get you started with the C++ Core Guidelines</title>
      <guid isPermaLink="false">http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=defc6bbc-c40d-4b4d-ac69-c46c14482550</guid>
      <link>http://www.gregcons.com/KateBlog/QuickCourse98MinutesToGetYouStartedWithTheCCoreGuidelines.aspx</link>
      <pubDate>Thu, 24 Mar 2016 18:10:15 GMT</pubDate>
      <description>My latest Pluralsight course is live! It's called &lt;a href="https://www.pluralsight.com/courses/cplusplus-core-guidelines-and-support-library-first-look"&gt;First
Look: C++ Core Guidelines and the Guideline Support Library&lt;/a&gt; and it introduces
the guidelines and why you might want to use them, as well as some preliminary tool
support. As always, if you need a free trial, use the link in the sidebar on the right.&lt;br&gt;
&lt;br&gt;
Pluralsight courses now have trailers. This is my first course with one and it turned
out a lot better than I expected. You don't need a subscription to watch the trailer
- just go to the &lt;a href="https://www.pluralsight.com/courses/cplusplus-core-guidelines-and-support-library-first-look"&gt;course
page, &lt;/a&gt;and over on the right side there are these downward pointing triangles next
to time lengths. Click the one for Course Overview which is 1m 49s, and you'll see
one entry under it that also says Course Overview 1m 49s. 
&lt;br&gt;
&lt;br&gt;
&lt;img src="http://www.gregcons.com/KateBlog/content/binary/overview.jpg" height="177" width="465" border="0"&gt;
&lt;br&gt;
&lt;br&gt;
Click that and the player will open and play the trailer. I did the voice recording,
and some Pluralsight elves put together visuals (some are excerpts from demos) around
it. I like it! Let me know what you think.&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=defc6bbc-c40d-4b4d-ac69-c46c14482550" /&gt;</description>
      <category>C++</category>
      <category>C++ Guidelines</category>
      <category>Mentoring</category>
      <category>Speaking</category>
      <category>Visual Studio 2015</category>
    </item>
    <item>
      <trackback:ping>http://www.gregcons.com/KateBlog/Trackback.aspx?guid=25efe5a9-ce2f-432c-8ba2-572c496226d6</trackback:ping>
      <pingback:server>http://www.gregcons.com/KateBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=25efe5a9-ce2f-432c-8ba2-572c496226d6</pingback:target>
      <dc:creator>Kate Gregory</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <!--[if gte mso 9]><xml>
 <o:OfficeDocumentSettings>
  <o:AllowPNG/>
 </o:OfficeDocumentSettings>
</xml><![endif]-->
        <p class="MsoNormal">
I’ve been hearing that the new search and browse functionality on Pluralsight isn’t
working for everyone, and that the sheer volume of courses makes some hard to find.
So I thought I’d make a list of my current courses in the hope of simplifying things
for those who want to learn something specific.
</p>
        <p class="MsoNormal">
          <a href="https://www.pluralsight.com/courses/visual-studio-2015-essentials-power-user">Visual
Studio 2015: Essentials to the Power-User </a>
        </p>
        <p class="MsoNormal">
This is the most recent Visual Studio course and it starts at the beginning and goes
well past what most people know about Visual Studio. I’m confident that even if you
use Visual Studio every day, you’ll learn something in this course that will make
you more productive. 
</p>
        <p class="MsoNormal">
          <a href="https://www.pluralsight.com/courses/whats-new-visual-studio-2015-preview-cplusplus-devs">What's
New for C++ Developers in Visual Studio 2015 Preview</a>
        </p>
        <p class="MsoNormal">
This course was based on the preview, but works well against the RTM version of Visual
Studio 2015. It’s C++-focused and just shows you what’s new compared to Visual Studio
2013.
</p>
        <p class="MsoNormal">
          <a href="https://www.pluralsight.com/courses/using-stackoverflow-stackexchange-sites">Using
StackOverflow and Other StackExchange Sites</a>
        </p>
        <p class="MsoNormal">
Most developers find StackOverflow results whenever they do a web search for a particular
error message, or some API they’re having trouble using. Many of them tell me that
when they try to sign up and actually ask and answer questions, they have an unpleasant
experience. Often, it’s because their mental model of the site does not match the
way it actually works. This course will show you how it works, so you can get the
answers you need and not feel rejected or hurt by the way these sites work.
</p>
        <p class="MsoNormal">
          <a href="https://www.pluralsight.com/courses/learn-programming-cplusplus">Learn How
to Program with C++</a>
        </p>
        <p class="MsoNormal">
This course is aimed at people who have never programmed before. If you’ve programmed,
in any language, consider C++ Fundamentals instead. If you don’t believe anyone can
learn C++ as a first language, I’m ready to argue with you. Modern C++ is a simple
and useful language that a beginner can learn and use well.
</p>
        <p class="MsoNormal">
          <a href="https://www.pluralsight.com/courses/adv-cpp">C++ Advanced Topics </a>
        </p>
        <p class="MsoNormal">
This course is for the material I couldn’t fit into C++ Fundamentals. It’s presented
as a number of things I want you to do, or stop doing, when you write C++ today:
</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 class="MsoNormal">
          <a href="https://www.pluralsight.com/courses/cpp-fundamentals">C++ Fundamentals</a>
          <span style="mso-spacerun:yes">  </span>and <a href="https://www.pluralsight.com/courses/cppfund2">C++
Fundamentals - Part 2</a></p>
These courses were written in 2011 but hold up well. Here is where you’ll learn the
basic syntax of the language and how everything works, including templates, pointers,
lambdas, and exceptions. Watch both parts to learn the whole language, then dive into
C++ Advanced Topics to round out your C++ knowledge. 
<p class="MsoNormal">
I have other courses – on older versions of Visual Studio, for example, but these
are the “big” ones for me at the moment. I hope this list helps you to find them.
And remember, if you need a free trial, <a href="http://shrsl.com/?~78za">use this
link</a>. Click Subscribe, then Start 10-Day Trial, and you’ll be all set.
</p><p class="MsoNormal">
Kate
</p><!--[if gte mso 9]><xml>
 <w:WordDocument>
  <w:View>Normal</w:View>
  <w:Zoom>0</w:Zoom>
  <w:TrackMoves/>
  <w:TrackFormatting/>
  <w:PunctuationKerning/>
  <w:ValidateAgainstSchemas/>
  <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
  <w:IgnoreMixedContent>false</w:IgnoreMixedContent>
  <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
  <w:DoNotPromoteQF/>
  <w:LidThemeOther>EN-CA</w:LidThemeOther>
  <w:LidThemeAsian>X-NONE</w:LidThemeAsian>
  <w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
  <w:Compatibility>
   <w:BreakWrappedTables/>
   <w:SnapToGridInCell/>
   <w:WrapTextWithPunct/>
   <w:UseAsianBreakRules/>
   <w:DontGrowAutofit/>
   <w:SplitPgBreakAndParaMark/>
   <w:EnableOpenTypeKerning/>
   <w:DontFlipMirrorIndents/>
   <w:OverrideTableStyleHps/>
  </w:Compatibility>
  <m:mathPr>
   <m:mathFont m:val="Cambria Math"/>
   <m:brkBin m:val="before"/>
   <m:brkBinSub m:val="&#45;-"/>
   <m:smallFrac m:val="off"/>
   <m:dispDef/>
   <m:lMargin m:val="0"/>
   <m:rMargin m:val="0"/>
   <m:defJc m:val="centerGroup"/>
   <m:wrapIndent m:val="1440"/>
   <m:intLim m:val="subSup"/>
   <m:naryLim m:val="undOvr"/>
  </m:mathPr></w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
 <w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="false"
  DefSemiHidden="false" DefQFormat="false" DefPriority="99"
  LatentStyleCount="371">
  <w:LsdException Locked="false" Priority="0" QFormat="true" Name="Normal"/>
  <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 1"/>
  <w:LsdException Locked="false" Priority="9" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="heading 2"/>
  <w:LsdException Locked="false" Priority="9" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="heading 3"/>
  <w:LsdException Locked="false" Priority="9" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="heading 4"/>
  <w:LsdException Locked="false" Priority="9" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="heading 5"/>
  <w:LsdException Locked="false" Priority="9" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="heading 6"/>
  <w:LsdException Locked="false" Priority="9" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="heading 7"/>
  <w:LsdException Locked="false" Priority="9" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="heading 8"/>
  <w:LsdException Locked="false" Priority="9" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="heading 9"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index 1"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index 4"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index 5"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index 6"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index 7"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index 8"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index 9"/>
  <w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" Name="toc 1"/>
  <w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" Name="toc 2"/>
  <w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" Name="toc 3"/>
  <w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" Name="toc 4"/>
  <w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" Name="toc 5"/>
  <w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" Name="toc 6"/>
  <w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" Name="toc 7"/>
  <w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" Name="toc 8"/>
  <w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" Name="toc 9"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Normal Indent"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="footnote text"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="annotation text"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="header"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="footer"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index heading"/>
  <w:LsdException Locked="false" Priority="35" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="caption"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="table of figures"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="envelope address"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="envelope return"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="footnote reference"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="annotation reference"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="line number"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="page number"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="endnote reference"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="endnote text"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="table of authorities"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="macro"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="toa heading"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Bullet"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Number"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List 4"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List 5"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Bullet 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Bullet 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Bullet 4"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Bullet 5"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Number 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Number 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Number 4"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Number 5"/>
  <w:LsdException Locked="false" Priority="10" QFormat="true" Name="Title"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Closing"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Signature"/>
  <w:LsdException Locked="false" Priority="1" SemiHidden="true"
   UnhideWhenUsed="true" Name="Default Paragraph Font"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Body Text"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Body Text Indent"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Continue"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Continue 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Continue 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Continue 4"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Continue 5"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Message Header"/>
  <w:LsdException Locked="false" Priority="11" QFormat="true" Name="Subtitle"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Salutation"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Date"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Body Text First Indent"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Body Text First Indent 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Note Heading"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Body Text 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Body Text 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Body Text Indent 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Body Text Indent 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Block Text"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Hyperlink"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="FollowedHyperlink"/>
  <w:LsdException Locked="false" Priority="22" QFormat="true" Name="Strong"/>
  <w:LsdException Locked="false" Priority="20" QFormat="true" Name="Emphasis"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Document Map"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Plain Text"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="E-mail Signature"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Top of Form"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Bottom of Form"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Normal (Web)"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Acronym"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Address"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Cite"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Code"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Definition"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Keyboard"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Preformatted"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Sample"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Typewriter"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Variable"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Normal Table"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="annotation subject"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="No List"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Outline List 1"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Outline List 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Outline List 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Simple 1"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Simple 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Simple 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Classic 1"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Classic 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Classic 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Classic 4"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Colorful 1"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Colorful 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Colorful 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Columns 1"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Columns 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Columns 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Columns 4"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Columns 5"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Grid 1"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Grid 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Grid 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Grid 4"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Grid 5"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Grid 6"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Grid 7"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Grid 8"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table List 1"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table List 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table List 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table List 4"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table List 5"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table List 6"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table List 7"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table List 8"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table 3D effects 1"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table 3D effects 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table 3D effects 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Contemporary"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Elegant"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Professional"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Subtle 1"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Subtle 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Web 1"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Web 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Web 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Balloon Text"/>
  <w:LsdException Locked="false" Priority="39" Name="Table Grid"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Theme"/>
  <w:LsdException Locked="false" SemiHidden="true" Name="Placeholder Text"/>
  <w:LsdException Locked="false" Priority="1" QFormat="true" Name="No Spacing"/>
  <w:LsdException Locked="false" Priority="60" Name="Light Shading"/>
  <w:LsdException Locked="false" Priority="61" Name="Light List"/>
  <w:LsdException Locked="false" Priority="62" Name="Light Grid"/>
  <w:LsdException Locked="false" Priority="63" Name="Medium Shading 1"/>
  <w:LsdException Locked="false" Priority="64" Name="Medium Shading 2"/>
  <w:LsdException Locked="false" Priority="65" Name="Medium List 1"/>
  <w:LsdException Locked="false" Priority="66" Name="Medium List 2"/>
  <w:LsdException Locked="false" Priority="67" Name="Medium Grid 1"/>
  <w:LsdException Locked="false" Priority="68" Name="Medium Grid 2"/>
  <w:LsdException Locked="false" Priority="69" Name="Medium Grid 3"/>
  <w:LsdException Locked="false" Priority="70" Name="Dark List"/>
  <w:LsdException Locked="false" Priority="71" Name="Colorful Shading"/>
  <w:LsdException Locked="false" Priority="72" Name="Colorful List"/>
  <w:LsdException Locked="false" Priority="73" Name="Colorful Grid"/>
  <w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 1"/>
  <w:LsdException Locked="false" Priority="61" Name="Light List Accent 1"/>
  <w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 1"/>
  <w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 1"/>
  <w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 1"/>
  <w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 1"/>
  <w:LsdException Locked="false" SemiHidden="true" Name="Revision"/>
  <w:LsdException Locked="false" Priority="34" QFormat="true"
   Name="List Paragraph"/>
  <w:LsdException Locked="false" Priority="29" QFormat="true" Name="Quote"/>
  <w:LsdException Locked="false" Priority="30" QFormat="true"
   Name="Intense Quote"/>
  <w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 1"/>
  <w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 1"/>
  <w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 1"/>
  <w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 1"/>
  <w:LsdException Locked="false" Priority="70" Name="Dark List Accent 1"/>
  <w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 1"/>
  <w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 1"/>
  <w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 1"/>
  <w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 2"/>
  <w:LsdException Locked="false" Priority="61" Name="Light List Accent 2"/>
  <w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 2"/>
  <w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 2"/>
  <w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 2"/>
  <w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 2"/>
  <w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 2"/>
  <w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 2"/>
  <w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 2"/>
  <w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 2"/>
  <w:LsdException Locked="false" Priority="70" Name="Dark List Accent 2"/>
  <w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 2"/>
  <w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 2"/>
  <w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 2"/>
  <w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 3"/>
  <w:LsdException Locked="false" Priority="61" Name="Light List Accent 3"/>
  <w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 3"/>
  <w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 3"/>
  <w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 3"/>
  <w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 3"/>
  <w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 3"/>
  <w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 3"/>
  <w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 3"/>
  <w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 3"/>
  <w:LsdException Locked="false" Priority="70" Name="Dark List Accent 3"/>
  <w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 3"/>
  <w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 3"/>
  <w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 3"/>
  <w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 4"/>
  <w:LsdException Locked="false" Priority="61" Name="Light List Accent 4"/>
  <w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 4"/>
  <w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 4"/>
  <w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 4"/>
  <w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 4"/>
  <w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 4"/>
  <w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 4"/>
  <w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 4"/>
  <w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 4"/>
  <w:LsdException Locked="false" Priority="70" Name="Dark List Accent 4"/>
  <w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 4"/>
  <w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 4"/>
  <w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 4"/>
  <w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 5"/>
  <w:LsdException Locked="false" Priority="61" Name="Light List Accent 5"/>
  <w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 5"/>
  <w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 5"/>
  <w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 5"/>
  <w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 5"/>
  <w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 5"/>
  <w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 5"/>
  <w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 5"/>
  <w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 5"/>
  <w:LsdException Locked="false" Priority="70" Name="Dark List Accent 5"/>
  <w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 5"/>
  <w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 5"/>
  <w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 5"/>
  <w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 6"/>
  <w:LsdException Locked="false" Priority="61" Name="Light List Accent 6"/>
  <w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 6"/>
  <w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 6"/>
  <w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 6"/>
  <w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 6"/>
  <w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 6"/>
  <w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 6"/>
  <w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 6"/>
  <w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 6"/>
  <w:LsdException Locked="false" Priority="70" Name="Dark List Accent 6"/>
  <w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 6"/>
  <w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 6"/>
  <w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 6"/>
  <w:LsdException Locked="false" Priority="19" QFormat="true"
   Name="Subtle Emphasis"/>
  <w:LsdException Locked="false" Priority="21" QFormat="true"
   Name="Intense Emphasis"/>
  <w:LsdException Locked="false" Priority="31" QFormat="true"
   Name="Subtle Reference"/>
  <w:LsdException Locked="false" Priority="32" QFormat="true"
   Name="Intense Reference"/>
  <w:LsdException Locked="false" Priority="33" QFormat="true" Name="Book Title"/>
  <w:LsdException Locked="false" Priority="37" SemiHidden="true"
   UnhideWhenUsed="true" Name="Bibliography"/>
  <w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="TOC Heading"/>
  <w:LsdException Locked="false" Priority="41" Name="Plain Table 1"/>
  <w:LsdException Locked="false" Priority="42" Name="Plain Table 2"/>
  <w:LsdException Locked="false" Priority="43" Name="Plain Table 3"/>
  <w:LsdException Locked="false" Priority="44" Name="Plain Table 4"/>
  <w:LsdException Locked="false" Priority="45" Name="Plain Table 5"/>
  <w:LsdException Locked="false" Priority="40" Name="Grid Table Light"/>
  <w:LsdException Locked="false" Priority="46" Name="Grid Table 1 Light"/>
  <w:LsdException Locked="false" Priority="47" Name="Grid Table 2"/>
  <w:LsdException Locked="false" Priority="48" Name="Grid Table 3"/>
  <w:LsdException Locked="false" Priority="49" Name="Grid Table 4"/>
  <w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark"/>
  <w:LsdException Locked="false" Priority="51" Name="Grid Table 6 Colorful"/>
  <w:LsdException Locked="false" Priority="52" Name="Grid Table 7 Colorful"/>
  <w:LsdException Locked="false" Priority="46"
   Name="Grid Table 1 Light Accent 1"/>
  <w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 1"/>
  <w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 1"/>
  <w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 1"/>
  <w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 1"/>
  <w:LsdException Locked="false" Priority="51"
   Name="Grid Table 6 Colorful Accent 1"/>
  <w:LsdException Locked="false" Priority="52"
   Name="Grid Table 7 Colorful Accent 1"/>
  <w:LsdException Locked="false" Priority="46"
   Name="Grid Table 1 Light Accent 2"/>
  <w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 2"/>
  <w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 2"/>
  <w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 2"/>
  <w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 2"/>
  <w:LsdException Locked="false" Priority="51"
   Name="Grid Table 6 Colorful Accent 2"/>
  <w:LsdException Locked="false" Priority="52"
   Name="Grid Table 7 Colorful Accent 2"/>
  <w:LsdException Locked="false" Priority="46"
   Name="Grid Table 1 Light Accent 3"/>
  <w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 3"/>
  <w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 3"/>
  <w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 3"/>
  <w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 3"/>
  <w:LsdException Locked="false" Priority="51"
   Name="Grid Table 6 Colorful Accent 3"/>
  <w:LsdException Locked="false" Priority="52"
   Name="Grid Table 7 Colorful Accent 3"/>
  <w:LsdException Locked="false" Priority="46"
   Name="Grid Table 1 Light Accent 4"/>
  <w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 4"/>
  <w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 4"/>
  <w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 4"/>
  <w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 4"/>
  <w:LsdException Locked="false" Priority="51"
   Name="Grid Table 6 Colorful Accent 4"/>
  <w:LsdException Locked="false" Priority="52"
   Name="Grid Table 7 Colorful Accent 4"/>
  <w:LsdException Locked="false" Priority="46"
   Name="Grid Table 1 Light Accent 5"/>
  <w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 5"/>
  <w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 5"/>
  <w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 5"/>
  <w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 5"/>
  <w:LsdException Locked="false" Priority="51"
   Name="Grid Table 6 Colorful Accent 5"/>
  <w:LsdException Locked="false" Priority="52"
   Name="Grid Table 7 Colorful Accent 5"/>
  <w:LsdException Locked="false" Priority="46"
   Name="Grid Table 1 Light Accent 6"/>
  <w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 6"/>
  <w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 6"/>
  <w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 6"/>
  <w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 6"/>
  <w:LsdException Locked="false" Priority="51"
   Name="Grid Table 6 Colorful Accent 6"/>
  <w:LsdException Locked="false" Priority="52"
   Name="Grid Table 7 Colorful Accent 6"/>
  <w:LsdException Locked="false" Priority="46" Name="List Table 1 Light"/>
  <w:LsdException Locked="false" Priority="47" Name="List Table 2"/>
  <w:LsdException Locked="false" Priority="48" Name="List Table 3"/>
  <w:LsdException Locked="false" Priority="49" Name="List Table 4"/>
  <w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark"/>
  <w:LsdException Locked="false" Priority="51" Name="List Table 6 Colorful"/>
  <w:LsdException Locked="false" Priority="52" Name="List Table 7 Colorful"/>
  <w:LsdException Locked="false" Priority="46"
   Name="List Table 1 Light Accent 1"/>
  <w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 1"/>
  <w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 1"/>
  <w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 1"/>
  <w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 1"/>
  <w:LsdException Locked="false" Priority="51"
   Name="List Table 6 Colorful Accent 1"/>
  <w:LsdException Locked="false" Priority="52"
   Name="List Table 7 Colorful Accent 1"/>
  <w:LsdException Locked="false" Priority="46"
   Name="List Table 1 Light Accent 2"/>
  <w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 2"/>
  <w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 2"/>
  <w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 2"/>
  <w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 2"/>
  <w:LsdException Locked="false" Priority="51"
   Name="List Table 6 Colorful Accent 2"/>
  <w:LsdException Locked="false" Priority="52"
   Name="List Table 7 Colorful Accent 2"/>
  <w:LsdException Locked="false" Priority="46"
   Name="List Table 1 Light Accent 3"/>
  <w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 3"/>
  <w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 3"/>
  <w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 3"/>
  <w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 3"/>
  <w:LsdException Locked="false" Priority="51"
   Name="List Table 6 Colorful Accent 3"/>
  <w:LsdException Locked="false" Priority="52"
   Name="List Table 7 Colorful Accent 3"/>
  <w:LsdException Locked="false" Priority="46"
   Name="List Table 1 Light Accent 4"/>
  <w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 4"/>
  <w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 4"/>
  <w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 4"/>
  <w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 4"/>
  <w:LsdException Locked="false" Priority="51"
   Name="List Table 6 Colorful Accent 4"/>
  <w:LsdException Locked="false" Priority="52"
   Name="List Table 7 Colorful Accent 4"/>
  <w:LsdException Locked="false" Priority="46"
   Name="List Table 1 Light Accent 5"/>
  <w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 5"/>
  <w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 5"/>
  <w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 5"/>
  <w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 5"/>
  <w:LsdException Locked="false" Priority="51"
   Name="List Table 6 Colorful Accent 5"/>
  <w:LsdException Locked="false" Priority="52"
   Name="List Table 7 Colorful Accent 5"/>
  <w:LsdException Locked="false" Priority="46"
   Name="List Table 1 Light Accent 6"/>
  <w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 6"/>
  <w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 6"/>
  <w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 6"/>
  <w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 6"/>
  <w:LsdException Locked="false" Priority="51"
   Name="List Table 6 Colorful Accent 6"/>
  <w:LsdException Locked="false" Priority="52"
   Name="List Table 7 Colorful Accent 6"/>
 </w:LatentStyles>
</xml><![endif]--><!--[if gte mso 10]>
<style>
 /* Style Definitions */
 table.MsoNormalTable
	{mso-style-name:"Table Normal";
	mso-tstyle-rowband-size:0;
	mso-tstyle-colband-size:0;
	mso-style-noshow:yes;
	mso-style-priority:99;
	mso-style-parent:"";
	mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
	mso-para-margin-top:0cm;
	mso-para-margin-right:0cm;
	mso-para-margin-bottom:8.0pt;
	mso-para-margin-left:0cm;
	line-height:107%;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	font-family:"Calibri",sans-serif;
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-fareast-language:EN-US;}
</style>
<![endif]--><p></p><img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=25efe5a9-ce2f-432c-8ba2-572c496226d6" /></body>
      <title>My Pluralsight Courses</title>
      <guid isPermaLink="false">http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=25efe5a9-ce2f-432c-8ba2-572c496226d6</guid>
      <link>http://www.gregcons.com/KateBlog/MyPluralsightCourses.aspx</link>
      <pubDate>Mon, 29 Feb 2016 17:19:13 GMT</pubDate>
      <description>&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
 &lt;o:OfficeDocumentSettings&gt;
  &lt;o:AllowPNG/&gt;
 &lt;/o:OfficeDocumentSettings&gt;
&lt;/xml&gt;&lt;![endif]--&gt;
&lt;p class="MsoNormal"&gt;
I’ve been hearing that the new search and browse functionality on Pluralsight isn’t
working for everyone, and that the sheer volume of courses makes some hard to find.
So I thought I’d make a list of my current courses in the hope of simplifying things
for those who want to learn something specific.
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
&lt;a href="https://www.pluralsight.com/courses/visual-studio-2015-essentials-power-user"&gt;Visual
Studio 2015: Essentials to the Power-User &lt;/a&gt;
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
This is the most recent Visual Studio course and it starts at the beginning and goes
well past what most people know about Visual Studio. I’m confident that even if you
use Visual Studio every day, you’ll learn something in this course that will make
you more productive. 
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
&lt;a href="https://www.pluralsight.com/courses/whats-new-visual-studio-2015-preview-cplusplus-devs"&gt;What's
New for C++ Developers in Visual Studio 2015 Preview&lt;/a&gt;
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
This course was based on the preview, but works well against the RTM version of Visual
Studio 2015. It’s C++-focused and just shows you what’s new compared to Visual Studio
2013.
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
&lt;a href="https://www.pluralsight.com/courses/using-stackoverflow-stackexchange-sites"&gt;Using
StackOverflow and Other StackExchange Sites&lt;/a&gt;
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
Most developers find StackOverflow results whenever they do a web search for a particular
error message, or some API they’re having trouble using. Many of them tell me that
when they try to sign up and actually ask and answer questions, they have an unpleasant
experience. Often, it’s because their mental model of the site does not match the
way it actually works. This course will show you how it works, so you can get the
answers you need and not feel rejected or hurt by the way these sites work.
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
&lt;a href="https://www.pluralsight.com/courses/learn-programming-cplusplus"&gt;Learn How
to Program with C++&lt;/a&gt;
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
This course is aimed at people who have never programmed before. If you’ve programmed,
in any language, consider C++ Fundamentals instead. If you don’t believe anyone can
learn C++ as a first language, I’m ready to argue with you. Modern C++ is a simple
and useful language that a beginner can learn and use well.
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
&lt;a href="https://www.pluralsight.com/courses/adv-cpp"&gt;C++ Advanced Topics &lt;/a&gt;
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
This course is for the material I couldn’t fit into C++ Fundamentals. It’s presented
as a number of things I want you to do, or stop doing, when you write C++ today:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
Avoid Manual Memory Management&lt;/li&gt;
&lt;li&gt;
Use Lambdas&lt;/li&gt;
&lt;li&gt;
Use Standard Containers&lt;/li&gt;
&lt;li&gt;
Use Standard Algorithms&lt;/li&gt;
&lt;li&gt;
Embrace Move Semantics&lt;/li&gt;
&lt;li&gt;
Follow Style Rules&lt;/li&gt;
&lt;li&gt;
Consider the PImpl Idiom&lt;/li&gt;
&lt;li&gt;
Stop Writing C With Classes&lt;/li&gt;
&lt;/ul&gt;
&lt;p class="MsoNormal"&gt;
&lt;a href="https://www.pluralsight.com/courses/cpp-fundamentals"&gt;C++ Fundamentals&lt;/a&gt;&lt;span style="mso-spacerun:yes"&gt;&amp;nbsp; &lt;/span&gt;and &lt;a href="https://www.pluralsight.com/courses/cppfund2"&gt;C++
Fundamentals - Part 2&lt;/a&gt;
&lt;/p&gt;
These courses were written in 2011 but hold up well. Here is where you’ll learn the
basic syntax of the language and how everything works, including templates, pointers,
lambdas, and exceptions. Watch both parts to learn the whole language, then dive into
C++ Advanced Topics to round out your C++ knowledge. 
&lt;p class="MsoNormal"&gt;
I have other courses – on older versions of Visual Studio, for example, but these
are the “big” ones for me at the moment. I hope this list helps you to find them.
And remember, if you need a free trial, &lt;a href="http://shrsl.com/?~78za"&gt;use this
link&lt;/a&gt;. Click Subscribe, then Start 10-Day Trial, and you’ll be all set.
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
Kate
&lt;/p&gt;
&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
 &lt;w:WordDocument&gt;
  &lt;w:View&gt;Normal&lt;/w:View&gt;
  &lt;w:Zoom&gt;0&lt;/w:Zoom&gt;
  &lt;w:TrackMoves/&gt;
  &lt;w:TrackFormatting/&gt;
  &lt;w:PunctuationKerning/&gt;
  &lt;w:ValidateAgainstSchemas/&gt;
  &lt;w:SaveIfXMLInvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;
  &lt;w:IgnoreMixedContent&gt;false&lt;/w:IgnoreMixedContent&gt;
  &lt;w:AlwaysShowPlaceholderText&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;
  &lt;w:DoNotPromoteQF/&gt;
  &lt;w:LidThemeOther&gt;EN-CA&lt;/w:LidThemeOther&gt;
  &lt;w:LidThemeAsian&gt;X-NONE&lt;/w:LidThemeAsian&gt;
  &lt;w:LidThemeComplexScript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;
  &lt;w:Compatibility&gt;
   &lt;w:BreakWrappedTables/&gt;
   &lt;w:SnapToGridInCell/&gt;
   &lt;w:WrapTextWithPunct/&gt;
   &lt;w:UseAsianBreakRules/&gt;
   &lt;w:DontGrowAutofit/&gt;
   &lt;w:SplitPgBreakAndParaMark/&gt;
   &lt;w:EnableOpenTypeKerning/&gt;
   &lt;w:DontFlipMirrorIndents/&gt;
   &lt;w:OverrideTableStyleHps/&gt;
  &lt;/w:Compatibility&gt;
  &lt;m:mathPr&gt;
   &lt;m:mathFont m:val="Cambria Math"/&gt;
   &lt;m:brkBin m:val="before"/&gt;
   &lt;m:brkBinSub m:val="&amp;#45;-"/&gt;
   &lt;m:smallFrac m:val="off"/&gt;
   &lt;m:dispDef/&gt;
   &lt;m:lMargin m:val="0"/&gt;
   &lt;m:rMargin m:val="0"/&gt;
   &lt;m:defJc m:val="centerGroup"/&gt;
   &lt;m:wrapIndent m:val="1440"/&gt;
   &lt;m:intLim m:val="subSup"/&gt;
   &lt;m:naryLim m:val="undOvr"/&gt;
  &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt;
&lt;/xml&gt;&lt;![endif]--&gt;
&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
 &lt;w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="false"
  DefSemiHidden="false" DefQFormat="false" DefPriority="99"
  LatentStyleCount="371"&gt;
  &lt;w:LsdException Locked="false" Priority="0" QFormat="true" Name="Normal"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="heading 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="heading 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="heading 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="heading 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="heading 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="heading 7"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="heading 8"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="heading 9"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index 1"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index 2"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index 3"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index 4"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index 5"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index 6"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index 7"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index 8"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index 9"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" Name="toc 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" Name="toc 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" Name="toc 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" Name="toc 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" Name="toc 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" Name="toc 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" Name="toc 7"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" Name="toc 8"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" Name="toc 9"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Normal Indent"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="footnote text"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="annotation text"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="header"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="footer"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index heading"/&gt;
  &lt;w:LsdException Locked="false" Priority="35" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="caption"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="table of figures"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="envelope address"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="envelope return"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="footnote reference"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="annotation reference"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="line number"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="page number"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="endnote reference"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="endnote text"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="table of authorities"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="macro"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="toa heading"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Bullet"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Number"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List 2"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List 3"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List 4"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List 5"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Bullet 2"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Bullet 3"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Bullet 4"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Bullet 5"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Number 2"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Number 3"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Number 4"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Number 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="10" QFormat="true" Name="Title"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Closing"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Signature"/&gt;
  &lt;w:LsdException Locked="false" Priority="1" SemiHidden="true"
   UnhideWhenUsed="true" Name="Default Paragraph Font"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Body Text"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Body Text Indent"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Continue"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Continue 2"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Continue 3"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Continue 4"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Continue 5"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Message Header"/&gt;
  &lt;w:LsdException Locked="false" Priority="11" QFormat="true" Name="Subtitle"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Salutation"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Date"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Body Text First Indent"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Body Text First Indent 2"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Note Heading"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Body Text 2"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Body Text 3"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Body Text Indent 2"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Body Text Indent 3"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Block Text"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Hyperlink"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="FollowedHyperlink"/&gt;
  &lt;w:LsdException Locked="false" Priority="22" QFormat="true" Name="Strong"/&gt;
  &lt;w:LsdException Locked="false" Priority="20" QFormat="true" Name="Emphasis"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Document Map"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Plain Text"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="E-mail Signature"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Top of Form"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Bottom of Form"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Normal (Web)"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Acronym"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Address"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Cite"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Code"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Definition"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Keyboard"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Preformatted"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Sample"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Typewriter"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Variable"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Normal Table"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="annotation subject"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="No List"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Outline List 1"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Outline List 2"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Outline List 3"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Simple 1"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Simple 2"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Simple 3"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Classic 1"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Classic 2"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Classic 3"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Classic 4"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Colorful 1"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Colorful 2"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Colorful 3"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Columns 1"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Columns 2"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Columns 3"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Columns 4"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Columns 5"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Grid 1"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Grid 2"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Grid 3"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Grid 4"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Grid 5"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Grid 6"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Grid 7"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Grid 8"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table List 1"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table List 2"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table List 3"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table List 4"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table List 5"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table List 6"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table List 7"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table List 8"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table 3D effects 1"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table 3D effects 2"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table 3D effects 3"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Contemporary"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Elegant"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Professional"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Subtle 1"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Subtle 2"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Web 1"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Web 2"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Web 3"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Balloon Text"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="Table Grid"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Theme"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" Name="Placeholder Text"/&gt;
  &lt;w:LsdException Locked="false" Priority="1" QFormat="true" Name="No Spacing"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" Name="Light Shading"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" Name="Light List"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" Name="Light Grid"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" Name="Medium Shading 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" Name="Medium Shading 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" Name="Medium List 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" Name="Medium List 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" Name="Medium Grid 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" Name="Medium Grid 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" Name="Medium Grid 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" Name="Dark List"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" Name="Colorful Shading"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" Name="Colorful List"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" Name="Colorful Grid"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" Name="Light List Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" Name="Revision"/&gt;
  &lt;w:LsdException Locked="false" Priority="34" QFormat="true"
   Name="List Paragraph"/&gt;
  &lt;w:LsdException Locked="false" Priority="29" QFormat="true" Name="Quote"/&gt;
  &lt;w:LsdException Locked="false" Priority="30" QFormat="true"
   Name="Intense Quote"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" Name="Dark List Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" Name="Light List Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" Name="Dark List Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" Name="Light List Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" Name="Dark List Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" Name="Light List Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" Name="Dark List Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" Name="Light List Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" Name="Dark List Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" Name="Light List Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" Name="Dark List Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="19" QFormat="true"
   Name="Subtle Emphasis"/&gt;
  &lt;w:LsdException Locked="false" Priority="21" QFormat="true"
   Name="Intense Emphasis"/&gt;
  &lt;w:LsdException Locked="false" Priority="31" QFormat="true"
   Name="Subtle Reference"/&gt;
  &lt;w:LsdException Locked="false" Priority="32" QFormat="true"
   Name="Intense Reference"/&gt;
  &lt;w:LsdException Locked="false" Priority="33" QFormat="true" Name="Book Title"/&gt;
  &lt;w:LsdException Locked="false" Priority="37" SemiHidden="true"
   UnhideWhenUsed="true" Name="Bibliography"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="TOC Heading"/&gt;
  &lt;w:LsdException Locked="false" Priority="41" Name="Plain Table 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="42" Name="Plain Table 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="43" Name="Plain Table 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="44" Name="Plain Table 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="45" Name="Plain Table 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="40" Name="Grid Table Light"/&gt;
  &lt;w:LsdException Locked="false" Priority="46" Name="Grid Table 1 Light"/&gt;
  &lt;w:LsdException Locked="false" Priority="47" Name="Grid Table 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="48" Name="Grid Table 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="49" Name="Grid Table 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark"/&gt;
  &lt;w:LsdException Locked="false" Priority="51" Name="Grid Table 6 Colorful"/&gt;
  &lt;w:LsdException Locked="false" Priority="52" Name="Grid Table 7 Colorful"/&gt;
  &lt;w:LsdException Locked="false" Priority="46"
   Name="Grid Table 1 Light Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="51"
   Name="Grid Table 6 Colorful Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="52"
   Name="Grid Table 7 Colorful Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="46"
   Name="Grid Table 1 Light Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="51"
   Name="Grid Table 6 Colorful Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="52"
   Name="Grid Table 7 Colorful Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="46"
   Name="Grid Table 1 Light Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="51"
   Name="Grid Table 6 Colorful Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="52"
   Name="Grid Table 7 Colorful Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="46"
   Name="Grid Table 1 Light Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="51"
   Name="Grid Table 6 Colorful Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="52"
   Name="Grid Table 7 Colorful Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="46"
   Name="Grid Table 1 Light Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="51"
   Name="Grid Table 6 Colorful Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="52"
   Name="Grid Table 7 Colorful Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="46"
   Name="Grid Table 1 Light Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="51"
   Name="Grid Table 6 Colorful Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="52"
   Name="Grid Table 7 Colorful Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="46" Name="List Table 1 Light"/&gt;
  &lt;w:LsdException Locked="false" Priority="47" Name="List Table 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="48" Name="List Table 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="49" Name="List Table 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark"/&gt;
  &lt;w:LsdException Locked="false" Priority="51" Name="List Table 6 Colorful"/&gt;
  &lt;w:LsdException Locked="false" Priority="52" Name="List Table 7 Colorful"/&gt;
  &lt;w:LsdException Locked="false" Priority="46"
   Name="List Table 1 Light Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="51"
   Name="List Table 6 Colorful Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="52"
   Name="List Table 7 Colorful Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="46"
   Name="List Table 1 Light Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="51"
   Name="List Table 6 Colorful Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="52"
   Name="List Table 7 Colorful Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="46"
   Name="List Table 1 Light Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="51"
   Name="List Table 6 Colorful Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="52"
   Name="List Table 7 Colorful Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="46"
   Name="List Table 1 Light Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="51"
   Name="List Table 6 Colorful Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="52"
   Name="List Table 7 Colorful Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="46"
   Name="List Table 1 Light Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="51"
   Name="List Table 6 Colorful Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="52"
   Name="List Table 7 Colorful Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="46"
   Name="List Table 1 Light Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="51"
   Name="List Table 6 Colorful Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="52"
   Name="List Table 7 Colorful Accent 6"/&gt;
 &lt;/w:LatentStyles&gt;
&lt;/xml&gt;&lt;![endif]--&gt;
&lt;!--[if gte mso 10]&gt;
&lt;style&gt;
 /* Style Definitions */
 table.MsoNormalTable
	{mso-style-name:"Table Normal";
	mso-tstyle-rowband-size:0;
	mso-tstyle-colband-size:0;
	mso-style-noshow:yes;
	mso-style-priority:99;
	mso-style-parent:"";
	mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
	mso-para-margin-top:0cm;
	mso-para-margin-right:0cm;
	mso-para-margin-bottom:8.0pt;
	mso-para-margin-left:0cm;
	line-height:107%;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	font-family:"Calibri",sans-serif;
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-fareast-language:EN-US;}
&lt;/style&gt;
&lt;![endif]--&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=25efe5a9-ce2f-432c-8ba2-572c496226d6" /&gt;</description>
      <category>C++</category>
      <category>Visual Studio 2015</category>
    </item>
    <item>
      <trackback:ping>http://www.gregcons.com/KateBlog/Trackback.aspx?guid=f52cd6c4-c8fd-4801-b8d1-71cb980beef6</trackback:ping>
      <pingback:server>http://www.gregcons.com/KateBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=f52cd6c4-c8fd-4801-b8d1-71cb980beef6</pingback:target>
      <dc:creator>Kate Gregory</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
The <a href="https://www.youtube.com/watch?v=1OEu9C51K2A&amp;index=1&amp;list=PLHTh1InhhwT75gykhs7pqcR_uSiG601oh">first
keynote</a> at <a href="https://www.youtube.com/playlist?list=PLHTh1InhhwT75gykhs7pqcR_uSiG601oh">CppCon </a>this
year was Bjarne Stroustrup (who invented the C++ language) announcing the <a href="https://github.com/isocpp/cppcoreguidelines">C++
Core Guidelines</a>. They are on Github and once he announced them, as Herb Sutter
reported in the <a href="https://www.youtube.com/watch?v=hEx5DNLWGgA&amp;index=2&amp;list=PLHTh1InhhwT75gykhs7pqcR_uSiG601oh">second
keynote</a> the very next day, they quickly became a trending topic across all languages.
Here is a description of the guidelines from there:
</p>
        <blockquote>
          <p>
The C++ Core Guidelines are a collaborative effort led by Bjarne Stroustrup, much
like the C++ language itself. They are the result of many person-years of discussion
and design across a number of organizations. Their design encourages general applicability
and broad adoption but they can be freely copied and modified to meet your organization's
needs.
</p>
        </blockquote>
        <blockquote>
          <p>
The aim of the guidelines is to help people to use modern C++ effectively. By "modern
C++" we mean C++11 and C++14 (and soon C++17). In other words, what would you like
your code to look like in 5 years' time, given that you can start now? In 10 years'
time?
</p>
        </blockquote>
        <blockquote>
          <p>
The guidelines are focused on relatively higher-level issues, such as interfaces,
resource management, memory management, and concurrency. Such rules affect application
architecture and library design. Following the rules will lead to code that is statically
type safe, has no resource leaks, and catches many more programming logic errors than
is common in code today. And it will run fast - you can afford to do things right.
</p>
        </blockquote>
        <p>
To me, these guidelines are the key to getting across my fundamental message that
C++ does not have to be hard, scary, complicated, or dangerous. The language may still
say “it’s your foot!” but the guidelines, and the tools they can drive, are quite
the opposite.
</p>
        <p>
You probably know that Visual Studio has a static analyser built in. (You should,
anyway, I’ve blogged about it.) It will catch things like this:
</p>
        <p>
    int* p = nullptr;<br />
    *p = 10;   
</p>
        <p>
But it doesn’t mind things like this:
</p>
        <p>
    int arr[10];        <br />
    int* p2 = arr;
</p>
        <p>
Two lines, two violations of the guidelines – I’m not initializing any of the elements
of arr, and then I am using its address as a regular old pointer. Now, there’s nothing
wrong with regular old pointers – some people have got quite a hate on for them with
the rise of genuinely smart pointers, but pointers are fine. Using pointers to control
lifetime isn’t fine, because it’s impossibly difficult. But pointers themselves are
fine. What’s not fine here is the “decay” of an array into a pointer – folks from
other languages don’t expect that at all, and some marvelous bugs have hidden behind
this simple bit of helpfulness from the compiler. So there’s a <a href="https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#Pro-bounds-decay">guideline </a>that
says don’t do that. Specifically:<br /><a href="https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#Pro-bounds-decay"><img src="http://www.gregcons.com/KateBlog/content/binary/bounds3.jpg" border="0" width="700" /></a></p>
        <p>
(I’m giving you a picture of code because if you want to copy and paste you should
go to the live, always updated, guidelines on github.)
</p>
        <p>
This guideline is part of a “profile” – a particular set of rules that are designed
to be enforced and that are supported by tools. Well, when I say <i>tools </i>I might
be overstating the case a little. There’s just one tool at the moment, but that could
be enough!
</p>
        <p>
This tool, <a href="https://www.nuget.org/packages/Microsoft.CppCoreCheck/">C++ Core
Checker</a>, is on the NuGet Gallery. You don’t have to get it from there though.
You get it, and use it, from inside Visual Studio 2015. Any version will do. If you
don’t use Visual Studio normally, just get and install the Community Edition, which
is free and is ok to use for commercial purposes, from https://www.visualstudio.com/
. (Need the fine print? if you’re using it as a person, you can do whatever you like.
If you work for a company with less than 250 PCs and less than a million dollars US
in revenue, again you and up to 4 of your coworkers can use it for whatever you like.
If you work for an “enterprise” company then any and all of the employees can still
use it for learning purposes or to work on open source.) Note that Visual C++ isn’t
part of the Typical install, so you’ll need to choose Custom and select Visual C++:
</p>
        <p>
          <img src="http://www.gregcons.com/KateBlog/content/binary/custominstall.jpg" border="0" width="230" />
        </p>
        <p>
So once you have Community Edition or some edition of Visual Studio, make a console
application and put in the two bad lines of code. Build it and then also run static
analysis on it (On the Analyze menu, choose Run Code Analysis, On Solution.) You won’t
get any warnings or errors. That’s your pre-guidelines life. You’re doing something
inappropriate and nobody is telling you.
</p>
        <p>
Now, add the checker to your solution. This is solution-by-solution, not a change
to how Visual Studio does static analysis. On the Tools menu, choose NuGet Package
Manager, Package Manager Console. In the console window that appears, type <font face="Courier New">Install-Package
Microsoft.CppCoreCheck<font face="Verdana"> and press enter</font></font>. You will
see output like this:
</p>
        <p>
Attempting to gather dependencies information for package 'Microsoft.CppCoreCheck.14.0.23107.2'
with respect to project 'ConsoleApplication1', targeting 'native,Version=v0.0'<br />
Attempting to resolve dependencies for package 'Microsoft.CppCoreCheck.14.0.23107.2'
with DependencyBehavior 'Lowest'<br />
Resolving actions to install package 'Microsoft.CppCoreCheck.14.0.23107.2'<br />
Resolved actions to install package 'Microsoft.CppCoreCheck.14.0.23107.2'<br />
Adding package 'Microsoft.Gsl.0.0.1' to folder 'c:\users\kate\documents\visual studio
2015\Projects\ConsoleApplication1\packages'<br />
Added package 'Microsoft.Gsl.0.0.1' to folder 'c:\users\kate\documents\visual studio
2015\Projects\ConsoleApplication1\packages'<br />
Added package 'Microsoft.Gsl.0.0.1' to 'packages.config'<br />
Successfully installed 'Microsoft.Gsl 0.0.1' to ConsoleApplication1<br />
Adding package 'Microsoft.CppCoreCheck.14.0.23107.2' to folder 'c:\users\kate\documents\visual
studio 2015\Projects\ConsoleApplication1\packages'<br />
Added package 'Microsoft.CppCoreCheck.14.0.23107.2' to folder 'c:\users\kate\documents\visual
studio 2015\Projects\ConsoleApplication1\packages'<br />
Added package 'Microsoft.CppCoreCheck.14.0.23107.2' to 'packages.config'<br />
Successfully installed 'Microsoft.CppCoreCheck 14.0.23107.2' to ConsoleApplication1<br />
PM&gt;<br /><br />
This changes your project settings so that analysis runs this Core Checker for you.
Repeat the analysis step and this time the new tool will run and you will get output
like this:<br />
------ Rebuild All started: Project: ConsoleApplication1, Configuration: Debug Win32
------<br />
  stdafx.cpp<br />
  ConsoleApplication1.cpp<br />
  ConsoleApplication1.vcxproj -&gt; c:\users\kate\documents\visual studio 2015\Projects\ConsoleApplication1\Debug\ConsoleApplication1.exe<br />
c:\users\kate\documents\visual studio 2015\projects\consoleapplication1\consoleapplication1\consoleapplication1.cpp(9):
warning C26494: Variable 'arr' is uninitialized. Always initialize an object. (type.5:
http://go.microsoft.com/fwlink/p/?LinkID=620421)<br />
c:\users\kate\documents\visual studio 2015\projects\consoleapplication1\consoleapplication1\consoleapplication1.cpp(10):
warning C26485: Expression 'arr': No array to pointer decay. (bounds.3: http://go.microsoft.com/fwlink/p/?LinkID=620415)<br />
========== Rebuild All: 1 succeeded, 0 failed, 0 skipped ==========
</p>
        <p>
Where it says "type.5" and there's a link, that's to the specific rule in the "type"
profile that this code breaks. And where it says "bounds.3", the same - I showed a
picture of bounds.3 up above.<br /></p>
        <p>
Isn’t that great? Come on, it’s great! The tool will add more rules as we move through
2016. I’m going to have a lot more to say about the Guidelines as well. But this is
a great place to start.Why not point it at some of your own code and see what happens?<br /></p>
        <p>
Kate
</p>
        <img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=f52cd6c4-c8fd-4801-b8d1-71cb980beef6" />
      </body>
      <title>C++ Core Guidelines and Checking Tool</title>
      <guid isPermaLink="false">http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=f52cd6c4-c8fd-4801-b8d1-71cb980beef6</guid>
      <link>http://www.gregcons.com/KateBlog/CCoreGuidelinesAndCheckingTool.aspx</link>
      <pubDate>Mon, 07 Dec 2015 18:54:57 GMT</pubDate>
      <description>&lt;p&gt;
The &lt;a href="https://www.youtube.com/watch?v=1OEu9C51K2A&amp;amp;index=1&amp;amp;list=PLHTh1InhhwT75gykhs7pqcR_uSiG601oh"&gt;first
keynote&lt;/a&gt; at &lt;a href="https://www.youtube.com/playlist?list=PLHTh1InhhwT75gykhs7pqcR_uSiG601oh"&gt;CppCon &lt;/a&gt;this
year was Bjarne Stroustrup (who invented the C++ language) announcing the &lt;a href="https://github.com/isocpp/cppcoreguidelines"&gt;C++
Core Guidelines&lt;/a&gt;. They are on Github and once he announced them, as Herb Sutter
reported in the &lt;a href="https://www.youtube.com/watch?v=hEx5DNLWGgA&amp;amp;index=2&amp;amp;list=PLHTh1InhhwT75gykhs7pqcR_uSiG601oh"&gt;second
keynote&lt;/a&gt; the very next day, they quickly became a trending topic across all languages.
Here is a description of the guidelines from there:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
The C++ Core Guidelines are a collaborative effort led by Bjarne Stroustrup, much
like the C++ language itself. They are the result of many person-years of discussion
and design across a number of organizations. Their design encourages general applicability
and broad adoption but they can be freely copied and modified to meet your organization's
needs.
&lt;/p&gt;
&lt;/blockquote&gt;&lt;blockquote&gt;
&lt;p&gt;
The aim of the guidelines is to help people to use modern C++ effectively. By "modern
C++" we mean C++11 and C++14 (and soon C++17). In other words, what would you like
your code to look like in 5 years' time, given that you can start now? In 10 years'
time?
&lt;/p&gt;
&lt;/blockquote&gt;&lt;blockquote&gt;
&lt;p&gt;
The guidelines are focused on relatively higher-level issues, such as interfaces,
resource management, memory management, and concurrency. Such rules affect application
architecture and library design. Following the rules will lead to code that is statically
type safe, has no resource leaks, and catches many more programming logic errors than
is common in code today. And it will run fast - you can afford to do things right.
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;
To me, these guidelines are the key to getting across my fundamental message that
C++ does not have to be hard, scary, complicated, or dangerous. The language may still
say “it’s your foot!” but the guidelines, and the tools they can drive, are quite
the opposite.
&lt;/p&gt;
&lt;p&gt;
You probably know that Visual Studio has a static analyser built in. (You should,
anyway, I’ve blogged about it.) It will catch things like this:
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;int* p = nullptr;&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;*p = 10;&amp;nbsp; &amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
But it doesn’t mind things like this:
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;int arr[10];&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;int* p2 = arr;
&lt;/p&gt;
&lt;p&gt;
Two lines, two violations of the guidelines – I’m not initializing any of the elements
of arr, and then I am using its address as a regular old pointer. Now, there’s nothing
wrong with regular old pointers – some people have got quite a hate on for them with
the rise of genuinely smart pointers, but pointers are fine. Using pointers to control
lifetime isn’t fine, because it’s impossibly difficult. But pointers themselves are
fine. What’s not fine here is the “decay” of an array into a pointer – folks from
other languages don’t expect that at all, and some marvelous bugs have hidden behind
this simple bit of helpfulness from the compiler. So there’s a &lt;a href="https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#Pro-bounds-decay"&gt;guideline &lt;/a&gt;that
says don’t do that. Specifically:&lt;br&gt;
&lt;a href="https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#Pro-bounds-decay"&gt;&lt;img src="http://www.gregcons.com/KateBlog/content/binary/bounds3.jpg" border="0" width="700"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
(I’m giving you a picture of code because if you want to copy and paste you should
go to the live, always updated, guidelines on github.)
&lt;/p&gt;
&lt;p&gt;
This guideline is part of a “profile” – a particular set of rules that are designed
to be enforced and that are supported by tools. Well, when I say &lt;i&gt;tools &lt;/i&gt;I might
be overstating the case a little. There’s just one tool at the moment, but that could
be enough!
&lt;/p&gt;
&lt;p&gt;
This tool, &lt;a href="https://www.nuget.org/packages/Microsoft.CppCoreCheck/"&gt;C++ Core
Checker&lt;/a&gt;, is on the NuGet Gallery. You don’t have to get it from there though.
You get it, and use it, from inside Visual Studio 2015. Any version will do. If you
don’t use Visual Studio normally, just get and install the Community Edition, which
is free and is ok to use for commercial purposes, from https://www.visualstudio.com/
. (Need the fine print? if you’re using it as a person, you can do whatever you like.
If you work for a company with less than 250 PCs and less than a million dollars US
in revenue, again you and up to 4 of your coworkers can use it for whatever you like.
If you work for an “enterprise” company then any and all of the employees can still
use it for learning purposes or to work on open source.) Note that Visual C++ isn’t
part of the Typical install, so you’ll need to choose Custom and select Visual C++:
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://www.gregcons.com/KateBlog/content/binary/custominstall.jpg" border="0" width="230"&gt;
&lt;/p&gt;
&lt;p&gt;
So once you have Community Edition or some edition of Visual Studio, make a console
application and put in the two bad lines of code. Build it and then also run static
analysis on it (On the Analyze menu, choose Run Code Analysis, On Solution.) You won’t
get any warnings or errors. That’s your pre-guidelines life. You’re doing something
inappropriate and nobody is telling you.
&lt;/p&gt;
&lt;p&gt;
Now, add the checker to your solution. This is solution-by-solution, not a change
to how Visual Studio does static analysis. On the Tools menu, choose NuGet Package
Manager, Package Manager Console. In the console window that appears, type &lt;font face="Courier New"&gt;Install-Package
Microsoft.CppCoreCheck&lt;font face="Verdana"&gt; and press enter&lt;/font&gt;&lt;/font&gt;. You will
see output like this:
&lt;/p&gt;
&lt;p&gt;
Attempting to gather dependencies information for package 'Microsoft.CppCoreCheck.14.0.23107.2'
with respect to project 'ConsoleApplication1', targeting 'native,Version=v0.0'&lt;br&gt;
Attempting to resolve dependencies for package 'Microsoft.CppCoreCheck.14.0.23107.2'
with DependencyBehavior 'Lowest'&lt;br&gt;
Resolving actions to install package 'Microsoft.CppCoreCheck.14.0.23107.2'&lt;br&gt;
Resolved actions to install package 'Microsoft.CppCoreCheck.14.0.23107.2'&lt;br&gt;
Adding package 'Microsoft.Gsl.0.0.1' to folder 'c:\users\kate\documents\visual studio
2015\Projects\ConsoleApplication1\packages'&lt;br&gt;
Added package 'Microsoft.Gsl.0.0.1' to folder 'c:\users\kate\documents\visual studio
2015\Projects\ConsoleApplication1\packages'&lt;br&gt;
Added package 'Microsoft.Gsl.0.0.1' to 'packages.config'&lt;br&gt;
Successfully installed 'Microsoft.Gsl 0.0.1' to ConsoleApplication1&lt;br&gt;
Adding package 'Microsoft.CppCoreCheck.14.0.23107.2' to folder 'c:\users\kate\documents\visual
studio 2015\Projects\ConsoleApplication1\packages'&lt;br&gt;
Added package 'Microsoft.CppCoreCheck.14.0.23107.2' to folder 'c:\users\kate\documents\visual
studio 2015\Projects\ConsoleApplication1\packages'&lt;br&gt;
Added package 'Microsoft.CppCoreCheck.14.0.23107.2' to 'packages.config'&lt;br&gt;
Successfully installed 'Microsoft.CppCoreCheck 14.0.23107.2' to ConsoleApplication1&lt;br&gt;
PM&amp;gt;&lt;br&gt;
&lt;br&gt;
This changes your project settings so that analysis runs this Core Checker for you.
Repeat the analysis step and this time the new tool will run and you will get output
like this:&lt;br&gt;
------ Rebuild All started: Project: ConsoleApplication1, Configuration: Debug Win32
------&lt;br&gt;
&amp;nbsp; stdafx.cpp&lt;br&gt;
&amp;nbsp; ConsoleApplication1.cpp&lt;br&gt;
&amp;nbsp; ConsoleApplication1.vcxproj -&amp;gt; c:\users\kate\documents\visual studio 2015\Projects\ConsoleApplication1\Debug\ConsoleApplication1.exe&lt;br&gt;
c:\users\kate\documents\visual studio 2015\projects\consoleapplication1\consoleapplication1\consoleapplication1.cpp(9):
warning C26494: Variable 'arr' is uninitialized. Always initialize an object. (type.5:
http://go.microsoft.com/fwlink/p/?LinkID=620421)&lt;br&gt;
c:\users\kate\documents\visual studio 2015\projects\consoleapplication1\consoleapplication1\consoleapplication1.cpp(10):
warning C26485: Expression 'arr': No array to pointer decay. (bounds.3: http://go.microsoft.com/fwlink/p/?LinkID=620415)&lt;br&gt;
========== Rebuild All: 1 succeeded, 0 failed, 0 skipped ==========
&lt;/p&gt;
&lt;p&gt;
Where it says "type.5" and there's a link, that's to the specific rule in the "type"
profile that this code breaks. And where it says "bounds.3", the same - I showed a
picture of bounds.3 up above.&lt;br&gt;
&lt;/p&gt;
&lt;p&gt;
Isn’t that great? Come on, it’s great! The tool will add more rules as we move through
2016. I’m going to have a lot more to say about the Guidelines as well. But this is
a great place to start.Why not point it at some of your own code and see what happens?&lt;br&gt;
&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=f52cd6c4-c8fd-4801-b8d1-71cb980beef6" /&gt;</description>
      <category>C++</category>
      <category>Consulting Life</category>
      <category>Seen and Recommended</category>
      <category>Visual Studio 2015</category>
      <category>C++ Guidelines</category>
    </item>
    <item>
      <trackback:ping>http://www.gregcons.com/KateBlog/Trackback.aspx?guid=9822ef2b-bb8e-438c-a04c-0b567dd78478</trackback:ping>
      <pingback:server>http://www.gregcons.com/KateBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=9822ef2b-bb8e-438c-a04c-0b567dd78478</pingback:target>
      <dc:creator>Kate Gregory</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <!--[if gte mso 9]><xml>
 <o:OfficeDocumentSettings>
  <o:AllowPNG/>
 </o:OfficeDocumentSettings>
</xml><![endif]-->Back
when I first started going to conferences, the schedules typically ran 9 or 9:30 to
4 or 4:30. I used to bring a book to read in the evenings in case I didn’t like what
was on TV. Then I started getting invited to dinners and parties and planning meetings
and conference days got a lot longer for me. But what I’ve noticed recently is that
conference days are getting a lot longer for everyone. People have come all this way
and are willing to pack a lot into each day. I’m writing this on the last day of <a href="http://cppcon.org/">CppCon</a> where
there is content starting at 8am and running until 10pm. There's even content over
the two hour lunch break! That’s a long day, and a bunch of them in a row makes for
a long long week. So here are some tips for how to handle that kind of week. I’m going
to be specific to CppCon, because I think a lot of my readers should attend it, but
other conferences will have equivalents to everything I’m mentioning here; I’ll let
you do the mapping yourself. 
<p class="MsoNormal">
First, have a schedule. Weeks before the conference, mark out what talks you want
to attend. Have a goal of selecting two talks in most time slots. Then if your first
choice is not as good as you expected, or the room is full and you don’t want to stand,
you know exactly where to go for your second choice. Have that schedule in your pocket
– on your phone, or on a piece of paper – so you have no lost time figuring out where
to go. (CppCon uses Sched, which mails you each day's schedule in the morning, making
it easy to have with you.) Don’t be the person who shows up at 9 only to learn there
were sessions at 8. Check the schedule at least once a day during the conference in
case things are being added. Tip: things are being added, you can count on it.
</p><p class="MsoNormal">
Second, plan ahead to take care of the physical body that is carrying your brain from
session to session. It’s really a simple matter to have a few granola bars and a bottle
of water in your bag. If you miss a snack, you can still have something to eat or
drink. Bring a light sweater in case you are in the cold room. Bring some painkillers
if you might get a headache from sitting somewhere loud. Bring whatever little comforts
you need to keep yourself from getting whiny and leaving early to go to your peaceful
hotel room and watch TV. (That said, there’s always one day in a one-week conference
where I go back to my room for an afternoon nap. It’s the only way I can stay functional
during long and intellectually-intense days. Just make sure you’re doing it for a
brain recharge and not for something you could have avoided by bringing a small item
with you to the conference centre.)
</p><p class="MsoNormal">
Third, think about how you’re going to take notes. A paper notebook? Bring a spare
pen, too. Your phone? Your laptop? Or are you just going to immerse yourself in the
experience and use the videos if you want to check something later? Whatever your
plan is, bring what you need to be able to use it. Power is always a challenge at
conferences – I like to bring an external battery for my phone so it can charge in
my bag. Think about what your bag is going to weigh and consider leaving the laptop
at the hotel and getting by with a phone and some paper for notes. It’s really liberating
not to be lugging a heavy bag, in fact surprisingly so.
</p><p class="MsoNormal">
Fourth, before you arrive (at the latest, on the plane to the conference) write up
your goals for the conference. Do you want to meet people? Specific people, or some
number of people, or people from a particular industry? Do you want to learn something
specific? (Perhaps this is the year to understand SFINAE, or be able to follow along
in a talk that includes template meta programming, or “get” those Haskell jokes people
are always telling.) <span style="mso-spacerun:yes"> </span>Maybe you want to
tell people about something? Tweet some number of times? Blog some number of times? <span style="mso-spacerun:yes"> </span>Have
a plan. Have goals. Check yourself against these goals each morning, and adjust your
plan for the day if you need to, so that you move towards those goals each day.
</p><p class="MsoNormal">
When you arrive at the conference, scout out the amenities. Where are the bathrooms?
Are there tables and chairs? Are there tables and chairs with power? On Day 1, pay
close attention to the food and drink pattern. Is coffee always available, or only
at certain times? Where does the food appear? Knowing this will take away any worry
you may be carrying around that you may miss something and not get another chance
at it. It will also save you from taking extras of things and lugging them around
all day when you don’t really need them. I also like to work out patterns related
to what rooms I’ll be in – that I’ll be on the same floor all afternoon, for example.
It just makes me feel a little more settled and centred.
</p><p class="MsoNormal">
Looking after your body doesn’t stop with what you planned and what you brought. I
start each day with 5 minutes of stretching which makes a big difference to how I
feel all day. I also try to use the stairs instead of the escalators – less lining
up and it makes me feel better too. I go ahead and eat the snacks, many of which are
not part of my normal day (brownies in the afternoon? bag of chips at lunch?) but
not to excess. CppCon has fruit and other options that are not all about fat, sugar,
and caffeine, and it’s often a smart choice to go with those rather than the straight-up
treats. Try not to get too far from normal. If you normally have 5 cups of coffee
a day, then you can do that during the conference, but if you’re a one-cup-a-day person,
perhaps don’t go beyond 2 or 3 a day while you’re here. Same advice for alcohol –
if you dramatically increase your consumption over the course of the week, you’re
likely to feel uncomfortable by the time Thursday or Friday rolls around. The one
thing you should be sure to take in more of than usual is water – whether you’re eating
more sugar than usual, drinking more caffeine and alcohol than usual, or just walking
a lot more than usual from room to room in a conference centre, extra water is what
you need to compensate. If you grab a bottle of water at a snack break, hang on to
it when it’s empty – typically most conference rooms have a watercooler or bubbler
by the door where you can refill that bottle whenever you want. Can’t stand water?
Bring something to flavour it with – pick up some powders or drops at home and try
them out to see which one you like. It’s way more efficient than hanging around hoping
that this is the break they have juice at, or leaving the conference centre on a half
hour walk for a convenience store.
</p><p class="MsoNormal">
As the conference goes on, be aware of how you are spending your time. For example,
if you check your email during a session, but then take a peek at Twitter, and then
at your personal Facebook – are you even really in the session anymore? Don’t be afraid
to leave if this is not the session for you. You can go to another one, or talk to
other attendees out in the hall, or go back to the hotel for a one hour nap. Almost
anything is better than ignoring a speaker and killing time on your laptop or phone.
And if you’re not prepared to leave, then perhaps you just need to start paying more
attention to the session – assuming it’s material you actually are interested in.
Take a look at those goals you wrote. Have you tweeted recently? Blogged? Learned
that thing? Met enough people? Will staying in this session and listening meet your
goals, or should you go out to the hall and work on a goal? Are you just chatting
with your own coworkers, or someone you’ve known for years? Building and strengthening
relationships is great, of course. That doesn’t mean that discussing the football
game with your cubicle-mate is a good use of your time at a place you flew 5 hours
to attend. Maybe you can walk around and find a way to join a conversation with a
speaker or someone else you wouldn’t normally meet. Just standing there listening
can be very enlightening even if you don’t end up saying much.
</p><p class="MsoNormal">
If you’re not normally a tweeter, blogger, or talker-to-strangers, a conference is
a great place to start. There are immediate benefits. Perhaps your question will be
answered, or your point will be repeated and quoted, or you’ll make a new friend or
business connection. This will give you reinforcement for doing that, of course. As
you meet your goals, make a record of that, so you can easily answer questions about
what you learned or accomplished during the conference. Consider writing a summary
when you’re done – for yourself, or for whoever funded the trip. A chronological structure
is natural – Monday morning I went to a talk called X and learned Y or met Z, at lunch
Monday I talked to A and B who encouraged me to look into C, Monday afternoon I went
to a talk on C – but be sure to have an executive summary that reads a little less
like a diary. Start writing it during the conference and polish it on the trip home.
Once you get back to the office, writing that summary is going to get harder and harder,
so don’t put it off.
</p><p class="MsoNormal">
Attending conferences is a great way to boost your career – when you do it well you
learn a lot in a short time, meet luminaries of your industry and people just like
you, raise your profile and your confidence, and have a wonderful time. When you do
it poorly, you get tired, hungover, lonely, overwhelmed, and bored. Put in the effort
to plan and prepare, and you will be in a great position to reap the rewards. 
</p><!--[if gte mso 9]><xml>
 <w:WordDocument>
  <w:View>Normal</w:View>
  <w:Zoom>0</w:Zoom>
  <w:TrackMoves/>
  <w:TrackFormatting/>
  <w:PunctuationKerning/>
  <w:ValidateAgainstSchemas/>
  <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
  <w:IgnoreMixedContent>false</w:IgnoreMixedContent>
  <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
  <w:DoNotPromoteQF/>
  <w:LidThemeOther>EN-CA</w:LidThemeOther>
  <w:LidThemeAsian>X-NONE</w:LidThemeAsian>
  <w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
  <w:Compatibility>
   <w:BreakWrappedTables/>
   <w:SnapToGridInCell/>
   <w:WrapTextWithPunct/>
   <w:UseAsianBreakRules/>
   <w:DontGrowAutofit/>
   <w:SplitPgBreakAndParaMark/>
   <w:EnableOpenTypeKerning/>
   <w:DontFlipMirrorIndents/>
   <w:OverrideTableStyleHps/>
  </w:Compatibility>
  <m:mathPr>
   <m:mathFont m:val="Cambria Math"/>
   <m:brkBin m:val="before"/>
   <m:brkBinSub m:val="&#45;-"/>
   <m:smallFrac m:val="off"/>
   <m:dispDef/>
   <m:lMargin m:val="0"/>
   <m:rMargin m:val="0"/>
   <m:defJc m:val="centerGroup"/>
   <m:wrapIndent m:val="1440"/>
   <m:intLim m:val="subSup"/>
   <m:naryLim m:val="undOvr"/>
  </m:mathPr></w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
 <w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="false"
  DefSemiHidden="false" DefQFormat="false" DefPriority="99"
  LatentStyleCount="371">
  <w:LsdException Locked="false" Priority="0" QFormat="true" Name="Normal"/>
  <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 1"/>
  <w:LsdException Locked="false" Priority="9" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="heading 2"/>
  <w:LsdException Locked="false" Priority="9" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="heading 3"/>
  <w:LsdException Locked="false" Priority="9" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="heading 4"/>
  <w:LsdException Locked="false" Priority="9" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="heading 5"/>
  <w:LsdException Locked="false" Priority="9" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="heading 6"/>
  <w:LsdException Locked="false" Priority="9" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="heading 7"/>
  <w:LsdException Locked="false" Priority="9" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="heading 8"/>
  <w:LsdException Locked="false" Priority="9" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="heading 9"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index 1"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index 4"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index 5"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index 6"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index 7"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index 8"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index 9"/>
  <w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" Name="toc 1"/>
  <w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" Name="toc 2"/>
  <w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" Name="toc 3"/>
  <w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" Name="toc 4"/>
  <w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" Name="toc 5"/>
  <w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" Name="toc 6"/>
  <w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" Name="toc 7"/>
  <w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" Name="toc 8"/>
  <w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" Name="toc 9"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Normal Indent"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="footnote text"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="annotation text"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="header"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="footer"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index heading"/>
  <w:LsdException Locked="false" Priority="35" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="caption"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="table of figures"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="envelope address"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="envelope return"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="footnote reference"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="annotation reference"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="line number"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="page number"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="endnote reference"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="endnote text"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="table of authorities"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="macro"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="toa heading"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Bullet"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Number"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List 4"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List 5"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Bullet 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Bullet 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Bullet 4"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Bullet 5"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Number 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Number 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Number 4"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Number 5"/>
  <w:LsdException Locked="false" Priority="10" QFormat="true" Name="Title"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Closing"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Signature"/>
  <w:LsdException Locked="false" Priority="1" SemiHidden="true"
   UnhideWhenUsed="true" Name="Default Paragraph Font"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Body Text"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Body Text Indent"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Continue"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Continue 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Continue 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Continue 4"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Continue 5"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Message Header"/>
  <w:LsdException Locked="false" Priority="11" QFormat="true" Name="Subtitle"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Salutation"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Date"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Body Text First Indent"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Body Text First Indent 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Note Heading"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Body Text 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Body Text 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Body Text Indent 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Body Text Indent 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Block Text"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Hyperlink"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="FollowedHyperlink"/>
  <w:LsdException Locked="false" Priority="22" QFormat="true" Name="Strong"/>
  <w:LsdException Locked="false" Priority="20" QFormat="true" Name="Emphasis"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Document Map"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Plain Text"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="E-mail Signature"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Top of Form"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Bottom of Form"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Normal (Web)"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Acronym"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Address"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Cite"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Code"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Definition"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Keyboard"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Preformatted"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Sample"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Typewriter"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Variable"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Normal Table"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="annotation subject"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="No List"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Outline List 1"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Outline List 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Outline List 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Simple 1"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Simple 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Simple 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Classic 1"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Classic 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Classic 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Classic 4"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Colorful 1"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Colorful 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Colorful 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Columns 1"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Columns 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Columns 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Columns 4"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Columns 5"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Grid 1"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Grid 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Grid 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Grid 4"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Grid 5"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Grid 6"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Grid 7"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Grid 8"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table List 1"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table List 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table List 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table List 4"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table List 5"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table List 6"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table List 7"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table List 8"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table 3D effects 1"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table 3D effects 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table 3D effects 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Contemporary"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Elegant"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Professional"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Subtle 1"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Subtle 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Web 1"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Web 2"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Web 3"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Balloon Text"/>
  <w:LsdException Locked="false" Priority="39" Name="Table Grid"/>
  <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Theme"/>
  <w:LsdException Locked="false" SemiHidden="true" Name="Placeholder Text"/>
  <w:LsdException Locked="false" Priority="1" QFormat="true" Name="No Spacing"/>
  <w:LsdException Locked="false" Priority="60" Name="Light Shading"/>
  <w:LsdException Locked="false" Priority="61" Name="Light List"/>
  <w:LsdException Locked="false" Priority="62" Name="Light Grid"/>
  <w:LsdException Locked="false" Priority="63" Name="Medium Shading 1"/>
  <w:LsdException Locked="false" Priority="64" Name="Medium Shading 2"/>
  <w:LsdException Locked="false" Priority="65" Name="Medium List 1"/>
  <w:LsdException Locked="false" Priority="66" Name="Medium List 2"/>
  <w:LsdException Locked="false" Priority="67" Name="Medium Grid 1"/>
  <w:LsdException Locked="false" Priority="68" Name="Medium Grid 2"/>
  <w:LsdException Locked="false" Priority="69" Name="Medium Grid 3"/>
  <w:LsdException Locked="false" Priority="70" Name="Dark List"/>
  <w:LsdException Locked="false" Priority="71" Name="Colorful Shading"/>
  <w:LsdException Locked="false" Priority="72" Name="Colorful List"/>
  <w:LsdException Locked="false" Priority="73" Name="Colorful Grid"/>
  <w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 1"/>
  <w:LsdException Locked="false" Priority="61" Name="Light List Accent 1"/>
  <w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 1"/>
  <w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 1"/>
  <w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 1"/>
  <w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 1"/>
  <w:LsdException Locked="false" SemiHidden="true" Name="Revision"/>
  <w:LsdException Locked="false" Priority="34" QFormat="true"
   Name="List Paragraph"/>
  <w:LsdException Locked="false" Priority="29" QFormat="true" Name="Quote"/>
  <w:LsdException Locked="false" Priority="30" QFormat="true"
   Name="Intense Quote"/>
  <w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 1"/>
  <w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 1"/>
  <w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 1"/>
  <w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 1"/>
  <w:LsdException Locked="false" Priority="70" Name="Dark List Accent 1"/>
  <w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 1"/>
  <w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 1"/>
  <w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 1"/>
  <w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 2"/>
  <w:LsdException Locked="false" Priority="61" Name="Light List Accent 2"/>
  <w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 2"/>
  <w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 2"/>
  <w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 2"/>
  <w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 2"/>
  <w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 2"/>
  <w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 2"/>
  <w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 2"/>
  <w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 2"/>
  <w:LsdException Locked="false" Priority="70" Name="Dark List Accent 2"/>
  <w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 2"/>
  <w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 2"/>
  <w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 2"/>
  <w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 3"/>
  <w:LsdException Locked="false" Priority="61" Name="Light List Accent 3"/>
  <w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 3"/>
  <w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 3"/>
  <w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 3"/>
  <w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 3"/>
  <w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 3"/>
  <w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 3"/>
  <w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 3"/>
  <w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 3"/>
  <w:LsdException Locked="false" Priority="70" Name="Dark List Accent 3"/>
  <w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 3"/>
  <w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 3"/>
  <w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 3"/>
  <w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 4"/>
  <w:LsdException Locked="false" Priority="61" Name="Light List Accent 4"/>
  <w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 4"/>
  <w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 4"/>
  <w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 4"/>
  <w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 4"/>
  <w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 4"/>
  <w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 4"/>
  <w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 4"/>
  <w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 4"/>
  <w:LsdException Locked="false" Priority="70" Name="Dark List Accent 4"/>
  <w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 4"/>
  <w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 4"/>
  <w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 4"/>
  <w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 5"/>
  <w:LsdException Locked="false" Priority="61" Name="Light List Accent 5"/>
  <w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 5"/>
  <w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 5"/>
  <w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 5"/>
  <w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 5"/>
  <w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 5"/>
  <w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 5"/>
  <w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 5"/>
  <w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 5"/>
  <w:LsdException Locked="false" Priority="70" Name="Dark List Accent 5"/>
  <w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 5"/>
  <w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 5"/>
  <w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 5"/>
  <w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 6"/>
  <w:LsdException Locked="false" Priority="61" Name="Light List Accent 6"/>
  <w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 6"/>
  <w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 6"/>
  <w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 6"/>
  <w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 6"/>
  <w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 6"/>
  <w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 6"/>
  <w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 6"/>
  <w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 6"/>
  <w:LsdException Locked="false" Priority="70" Name="Dark List Accent 6"/>
  <w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 6"/>
  <w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 6"/>
  <w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 6"/>
  <w:LsdException Locked="false" Priority="19" QFormat="true"
   Name="Subtle Emphasis"/>
  <w:LsdException Locked="false" Priority="21" QFormat="true"
   Name="Intense Emphasis"/>
  <w:LsdException Locked="false" Priority="31" QFormat="true"
   Name="Subtle Reference"/>
  <w:LsdException Locked="false" Priority="32" QFormat="true"
   Name="Intense Reference"/>
  <w:LsdException Locked="false" Priority="33" QFormat="true" Name="Book Title"/>
  <w:LsdException Locked="false" Priority="37" SemiHidden="true"
   UnhideWhenUsed="true" Name="Bibliography"/>
  <w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="TOC Heading"/>
  <w:LsdException Locked="false" Priority="41" Name="Plain Table 1"/>
  <w:LsdException Locked="false" Priority="42" Name="Plain Table 2"/>
  <w:LsdException Locked="false" Priority="43" Name="Plain Table 3"/>
  <w:LsdException Locked="false" Priority="44" Name="Plain Table 4"/>
  <w:LsdException Locked="false" Priority="45" Name="Plain Table 5"/>
  <w:LsdException Locked="false" Priority="40" Name="Grid Table Light"/>
  <w:LsdException Locked="false" Priority="46" Name="Grid Table 1 Light"/>
  <w:LsdException Locked="false" Priority="47" Name="Grid Table 2"/>
  <w:LsdException Locked="false" Priority="48" Name="Grid Table 3"/>
  <w:LsdException Locked="false" Priority="49" Name="Grid Table 4"/>
  <w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark"/>
  <w:LsdException Locked="false" Priority="51" Name="Grid Table 6 Colorful"/>
  <w:LsdException Locked="false" Priority="52" Name="Grid Table 7 Colorful"/>
  <w:LsdException Locked="false" Priority="46"
   Name="Grid Table 1 Light Accent 1"/>
  <w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 1"/>
  <w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 1"/>
  <w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 1"/>
  <w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 1"/>
  <w:LsdException Locked="false" Priority="51"
   Name="Grid Table 6 Colorful Accent 1"/>
  <w:LsdException Locked="false" Priority="52"
   Name="Grid Table 7 Colorful Accent 1"/>
  <w:LsdException Locked="false" Priority="46"
   Name="Grid Table 1 Light Accent 2"/>
  <w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 2"/>
  <w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 2"/>
  <w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 2"/>
  <w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 2"/>
  <w:LsdException Locked="false" Priority="51"
   Name="Grid Table 6 Colorful Accent 2"/>
  <w:LsdException Locked="false" Priority="52"
   Name="Grid Table 7 Colorful Accent 2"/>
  <w:LsdException Locked="false" Priority="46"
   Name="Grid Table 1 Light Accent 3"/>
  <w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 3"/>
  <w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 3"/>
  <w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 3"/>
  <w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 3"/>
  <w:LsdException Locked="false" Priority="51"
   Name="Grid Table 6 Colorful Accent 3"/>
  <w:LsdException Locked="false" Priority="52"
   Name="Grid Table 7 Colorful Accent 3"/>
  <w:LsdException Locked="false" Priority="46"
   Name="Grid Table 1 Light Accent 4"/>
  <w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 4"/>
  <w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 4"/>
  <w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 4"/>
  <w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 4"/>
  <w:LsdException Locked="false" Priority="51"
   Name="Grid Table 6 Colorful Accent 4"/>
  <w:LsdException Locked="false" Priority="52"
   Name="Grid Table 7 Colorful Accent 4"/>
  <w:LsdException Locked="false" Priority="46"
   Name="Grid Table 1 Light Accent 5"/>
  <w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 5"/>
  <w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 5"/>
  <w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 5"/>
  <w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 5"/>
  <w:LsdException Locked="false" Priority="51"
   Name="Grid Table 6 Colorful Accent 5"/>
  <w:LsdException Locked="false" Priority="52"
   Name="Grid Table 7 Colorful Accent 5"/>
  <w:LsdException Locked="false" Priority="46"
   Name="Grid Table 1 Light Accent 6"/>
  <w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 6"/>
  <w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 6"/>
  <w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 6"/>
  <w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 6"/>
  <w:LsdException Locked="false" Priority="51"
   Name="Grid Table 6 Colorful Accent 6"/>
  <w:LsdException Locked="false" Priority="52"
   Name="Grid Table 7 Colorful Accent 6"/>
  <w:LsdException Locked="false" Priority="46" Name="List Table 1 Light"/>
  <w:LsdException Locked="false" Priority="47" Name="List Table 2"/>
  <w:LsdException Locked="false" Priority="48" Name="List Table 3"/>
  <w:LsdException Locked="false" Priority="49" Name="List Table 4"/>
  <w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark"/>
  <w:LsdException Locked="false" Priority="51" Name="List Table 6 Colorful"/>
  <w:LsdException Locked="false" Priority="52" Name="List Table 7 Colorful"/>
  <w:LsdException Locked="false" Priority="46"
   Name="List Table 1 Light Accent 1"/>
  <w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 1"/>
  <w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 1"/>
  <w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 1"/>
  <w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 1"/>
  <w:LsdException Locked="false" Priority="51"
   Name="List Table 6 Colorful Accent 1"/>
  <w:LsdException Locked="false" Priority="52"
   Name="List Table 7 Colorful Accent 1"/>
  <w:LsdException Locked="false" Priority="46"
   Name="List Table 1 Light Accent 2"/>
  <w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 2"/>
  <w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 2"/>
  <w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 2"/>
  <w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 2"/>
  <w:LsdException Locked="false" Priority="51"
   Name="List Table 6 Colorful Accent 2"/>
  <w:LsdException Locked="false" Priority="52"
   Name="List Table 7 Colorful Accent 2"/>
  <w:LsdException Locked="false" Priority="46"
   Name="List Table 1 Light Accent 3"/>
  <w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 3"/>
  <w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 3"/>
  <w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 3"/>
  <w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 3"/>
  <w:LsdException Locked="false" Priority="51"
   Name="List Table 6 Colorful Accent 3"/>
  <w:LsdException Locked="false" Priority="52"
   Name="List Table 7 Colorful Accent 3"/>
  <w:LsdException Locked="false" Priority="46"
   Name="List Table 1 Light Accent 4"/>
  <w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 4"/>
  <w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 4"/>
  <w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 4"/>
  <w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 4"/>
  <w:LsdException Locked="false" Priority="51"
   Name="List Table 6 Colorful Accent 4"/>
  <w:LsdException Locked="false" Priority="52"
   Name="List Table 7 Colorful Accent 4"/>
  <w:LsdException Locked="false" Priority="46"
   Name="List Table 1 Light Accent 5"/>
  <w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 5"/>
  <w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 5"/>
  <w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 5"/>
  <w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 5"/>
  <w:LsdException Locked="false" Priority="51"
   Name="List Table 6 Colorful Accent 5"/>
  <w:LsdException Locked="false" Priority="52"
   Name="List Table 7 Colorful Accent 5"/>
  <w:LsdException Locked="false" Priority="46"
   Name="List Table 1 Light Accent 6"/>
  <w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 6"/>
  <w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 6"/>
  <w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 6"/>
  <w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 6"/>
  <w:LsdException Locked="false" Priority="51"
   Name="List Table 6 Colorful Accent 6"/>
  <w:LsdException Locked="false" Priority="52"
   Name="List Table 7 Colorful Accent 6"/>
 </w:LatentStyles>
</xml><![endif]--><!--[if gte mso 10]>
<style>
 /* Style Definitions */
 table.MsoNormalTable
	{mso-style-name:"Table Normal";
	mso-tstyle-rowband-size:0;
	mso-tstyle-colband-size:0;
	mso-style-noshow:yes;
	mso-style-priority:99;
	mso-style-parent:"";
	mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
	mso-para-margin-top:0cm;
	mso-para-margin-right:0cm;
	mso-para-margin-bottom:8.0pt;
	mso-para-margin-left:0cm;
	line-height:107%;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	font-family:"Calibri",sans-serif;
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-fareast-language:EN-US;}
</style>
<![endif]--><p></p><img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=9822ef2b-bb8e-438c-a04c-0b567dd78478" /></body>
      <title>Surviving an intense conference</title>
      <guid isPermaLink="false">http://www.gregcons.com/KateBlog/PermaLink.aspx?guid=9822ef2b-bb8e-438c-a04c-0b567dd78478</guid>
      <link>http://www.gregcons.com/KateBlog/SurvivingAnIntenseConference.aspx</link>
      <pubDate>Sat, 26 Sep 2015 15:39:17 GMT</pubDate>
      <description>&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
 &lt;o:OfficeDocumentSettings&gt;
  &lt;o:AllowPNG/&gt;
 &lt;/o:OfficeDocumentSettings&gt;
&lt;/xml&gt;&lt;![endif]--&gt;Back
when I first started going to conferences, the schedules typically ran 9 or 9:30 to
4 or 4:30. I used to bring a book to read in the evenings in case I didn’t like what
was on TV. Then I started getting invited to dinners and parties and planning meetings
and conference days got a lot longer for me. But what I’ve noticed recently is that
conference days are getting a lot longer for everyone. People have come all this way
and are willing to pack a lot into each day. I’m writing this on the last day of &lt;a href="http://cppcon.org/"&gt;CppCon&lt;/a&gt; where
there is content starting at 8am and running until 10pm. There's even content over
the two hour lunch break! That’s a long day, and a bunch of them in a row makes for
a long long week. So here are some tips for how to handle that kind of week. I’m going
to be specific to CppCon, because I think a lot of my readers should attend it, but
other conferences will have equivalents to everything I’m mentioning here; I’ll let
you do the mapping yourself. 
&lt;p class="MsoNormal"&gt;
First, have a schedule. Weeks before the conference, mark out what talks you want
to attend. Have a goal of selecting two talks in most time slots. Then if your first
choice is not as good as you expected, or the room is full and you don’t want to stand,
you know exactly where to go for your second choice. Have that schedule in your pocket
– on your phone, or on a piece of paper – so you have no lost time figuring out where
to go. (CppCon uses Sched, which mails you each day's schedule in the morning, making
it easy to have with you.) Don’t be the person who shows up at 9 only to learn there
were sessions at 8. Check the schedule at least once a day during the conference in
case things are being added. Tip: things are being added, you can count on it.
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
Second, plan ahead to take care of the physical body that is carrying your brain from
session to session. It’s really a simple matter to have a few granola bars and a bottle
of water in your bag. If you miss a snack, you can still have something to eat or
drink. Bring a light sweater in case you are in the cold room. Bring some painkillers
if you might get a headache from sitting somewhere loud. Bring whatever little comforts
you need to keep yourself from getting whiny and leaving early to go to your peaceful
hotel room and watch TV. (That said, there’s always one day in a one-week conference
where I go back to my room for an afternoon nap. It’s the only way I can stay functional
during long and intellectually-intense days. Just make sure you’re doing it for a
brain recharge and not for something you could have avoided by bringing a small item
with you to the conference centre.)
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
Third, think about how you’re going to take notes. A paper notebook? Bring a spare
pen, too. Your phone? Your laptop? Or are you just going to immerse yourself in the
experience and use the videos if you want to check something later? Whatever your
plan is, bring what you need to be able to use it. Power is always a challenge at
conferences – I like to bring an external battery for my phone so it can charge in
my bag. Think about what your bag is going to weigh and consider leaving the laptop
at the hotel and getting by with a phone and some paper for notes. It’s really liberating
not to be lugging a heavy bag, in fact surprisingly so.
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
Fourth, before you arrive (at the latest, on the plane to the conference) write up
your goals for the conference. Do you want to meet people? Specific people, or some
number of people, or people from a particular industry? Do you want to learn something
specific? (Perhaps this is the year to understand SFINAE, or be able to follow along
in a talk that includes template meta programming, or “get” those Haskell jokes people
are always telling.) &lt;span style="mso-spacerun:yes"&gt;&amp;nbsp;&lt;/span&gt;Maybe you want to
tell people about something? Tweet some number of times? Blog some number of times? &lt;span style="mso-spacerun:yes"&gt;&amp;nbsp;&lt;/span&gt;Have
a plan. Have goals. Check yourself against these goals each morning, and adjust your
plan for the day if you need to, so that you move towards those goals each day.
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
When you arrive at the conference, scout out the amenities. Where are the bathrooms?
Are there tables and chairs? Are there tables and chairs with power? On Day 1, pay
close attention to the food and drink pattern. Is coffee always available, or only
at certain times? Where does the food appear? Knowing this will take away any worry
you may be carrying around that you may miss something and not get another chance
at it. It will also save you from taking extras of things and lugging them around
all day when you don’t really need them. I also like to work out patterns related
to what rooms I’ll be in – that I’ll be on the same floor all afternoon, for example.
It just makes me feel a little more settled and centred.
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
Looking after your body doesn’t stop with what you planned and what you brought. I
start each day with 5 minutes of stretching which makes a big difference to how I
feel all day. I also try to use the stairs instead of the escalators – less lining
up and it makes me feel better too. I go ahead and eat the snacks, many of which are
not part of my normal day (brownies in the afternoon? bag of chips at lunch?) but
not to excess. CppCon has fruit and other options that are not all about fat, sugar,
and caffeine, and it’s often a smart choice to go with those rather than the straight-up
treats. Try not to get too far from normal. If you normally have 5 cups of coffee
a day, then you can do that during the conference, but if you’re a one-cup-a-day person,
perhaps don’t go beyond 2 or 3 a day while you’re here. Same advice for alcohol –
if you dramatically increase your consumption over the course of the week, you’re
likely to feel uncomfortable by the time Thursday or Friday rolls around. The one
thing you should be sure to take in more of than usual is water – whether you’re eating
more sugar than usual, drinking more caffeine and alcohol than usual, or just walking
a lot more than usual from room to room in a conference centre, extra water is what
you need to compensate. If you grab a bottle of water at a snack break, hang on to
it when it’s empty – typically most conference rooms have a watercooler or bubbler
by the door where you can refill that bottle whenever you want. Can’t stand water?
Bring something to flavour it with – pick up some powders or drops at home and try
them out to see which one you like. It’s way more efficient than hanging around hoping
that this is the break they have juice at, or leaving the conference centre on a half
hour walk for a convenience store.
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
As the conference goes on, be aware of how you are spending your time. For example,
if you check your email during a session, but then take a peek at Twitter, and then
at your personal Facebook – are you even really in the session anymore? Don’t be afraid
to leave if this is not the session for you. You can go to another one, or talk to
other attendees out in the hall, or go back to the hotel for a one hour nap. Almost
anything is better than ignoring a speaker and killing time on your laptop or phone.
And if you’re not prepared to leave, then perhaps you just need to start paying more
attention to the session – assuming it’s material you actually are interested in.
Take a look at those goals you wrote. Have you tweeted recently? Blogged? Learned
that thing? Met enough people? Will staying in this session and listening meet your
goals, or should you go out to the hall and work on a goal? Are you just chatting
with your own coworkers, or someone you’ve known for years? Building and strengthening
relationships is great, of course. That doesn’t mean that discussing the football
game with your cubicle-mate is a good use of your time at a place you flew 5 hours
to attend. Maybe you can walk around and find a way to join a conversation with a
speaker or someone else you wouldn’t normally meet. Just standing there listening
can be very enlightening even if you don’t end up saying much.
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
If you’re not normally a tweeter, blogger, or talker-to-strangers, a conference is
a great place to start. There are immediate benefits. Perhaps your question will be
answered, or your point will be repeated and quoted, or you’ll make a new friend or
business connection. This will give you reinforcement for doing that, of course. As
you meet your goals, make a record of that, so you can easily answer questions about
what you learned or accomplished during the conference. Consider writing a summary
when you’re done – for yourself, or for whoever funded the trip. A chronological structure
is natural – Monday morning I went to a talk called X and learned Y or met Z, at lunch
Monday I talked to A and B who encouraged me to look into C, Monday afternoon I went
to a talk on C – but be sure to have an executive summary that reads a little less
like a diary. Start writing it during the conference and polish it on the trip home.
Once you get back to the office, writing that summary is going to get harder and harder,
so don’t put it off.
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
Attending conferences is a great way to boost your career – when you do it well you
learn a lot in a short time, meet luminaries of your industry and people just like
you, raise your profile and your confidence, and have a wonderful time. When you do
it poorly, you get tired, hungover, lonely, overwhelmed, and bored. Put in the effort
to plan and prepare, and you will be in a great position to reap the rewards. 
&lt;/p&gt;
&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
 &lt;w:WordDocument&gt;
  &lt;w:View&gt;Normal&lt;/w:View&gt;
  &lt;w:Zoom&gt;0&lt;/w:Zoom&gt;
  &lt;w:TrackMoves/&gt;
  &lt;w:TrackFormatting/&gt;
  &lt;w:PunctuationKerning/&gt;
  &lt;w:ValidateAgainstSchemas/&gt;
  &lt;w:SaveIfXMLInvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;
  &lt;w:IgnoreMixedContent&gt;false&lt;/w:IgnoreMixedContent&gt;
  &lt;w:AlwaysShowPlaceholderText&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;
  &lt;w:DoNotPromoteQF/&gt;
  &lt;w:LidThemeOther&gt;EN-CA&lt;/w:LidThemeOther&gt;
  &lt;w:LidThemeAsian&gt;X-NONE&lt;/w:LidThemeAsian&gt;
  &lt;w:LidThemeComplexScript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;
  &lt;w:Compatibility&gt;
   &lt;w:BreakWrappedTables/&gt;
   &lt;w:SnapToGridInCell/&gt;
   &lt;w:WrapTextWithPunct/&gt;
   &lt;w:UseAsianBreakRules/&gt;
   &lt;w:DontGrowAutofit/&gt;
   &lt;w:SplitPgBreakAndParaMark/&gt;
   &lt;w:EnableOpenTypeKerning/&gt;
   &lt;w:DontFlipMirrorIndents/&gt;
   &lt;w:OverrideTableStyleHps/&gt;
  &lt;/w:Compatibility&gt;
  &lt;m:mathPr&gt;
   &lt;m:mathFont m:val="Cambria Math"/&gt;
   &lt;m:brkBin m:val="before"/&gt;
   &lt;m:brkBinSub m:val="&amp;#45;-"/&gt;
   &lt;m:smallFrac m:val="off"/&gt;
   &lt;m:dispDef/&gt;
   &lt;m:lMargin m:val="0"/&gt;
   &lt;m:rMargin m:val="0"/&gt;
   &lt;m:defJc m:val="centerGroup"/&gt;
   &lt;m:wrapIndent m:val="1440"/&gt;
   &lt;m:intLim m:val="subSup"/&gt;
   &lt;m:naryLim m:val="undOvr"/&gt;
  &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt;
&lt;/xml&gt;&lt;![endif]--&gt;
&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
 &lt;w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="false"
  DefSemiHidden="false" DefQFormat="false" DefPriority="99"
  LatentStyleCount="371"&gt;
  &lt;w:LsdException Locked="false" Priority="0" QFormat="true" Name="Normal"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="heading 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="heading 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="heading 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="heading 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="heading 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="heading 7"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="heading 8"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="heading 9"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index 1"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index 2"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index 3"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index 4"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index 5"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index 6"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index 7"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index 8"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index 9"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" Name="toc 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" Name="toc 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" Name="toc 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" Name="toc 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" Name="toc 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" Name="toc 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" Name="toc 7"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" Name="toc 8"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" Name="toc 9"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Normal Indent"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="footnote text"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="annotation text"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="header"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="footer"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="index heading"/&gt;
  &lt;w:LsdException Locked="false" Priority="35" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="caption"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="table of figures"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="envelope address"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="envelope return"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="footnote reference"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="annotation reference"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="line number"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="page number"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="endnote reference"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="endnote text"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="table of authorities"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="macro"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="toa heading"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Bullet"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Number"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List 2"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List 3"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List 4"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List 5"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Bullet 2"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Bullet 3"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Bullet 4"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Bullet 5"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Number 2"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Number 3"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Number 4"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Number 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="10" QFormat="true" Name="Title"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Closing"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Signature"/&gt;
  &lt;w:LsdException Locked="false" Priority="1" SemiHidden="true"
   UnhideWhenUsed="true" Name="Default Paragraph Font"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Body Text"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Body Text Indent"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Continue"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Continue 2"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Continue 3"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Continue 4"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="List Continue 5"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Message Header"/&gt;
  &lt;w:LsdException Locked="false" Priority="11" QFormat="true" Name="Subtitle"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Salutation"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Date"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Body Text First Indent"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Body Text First Indent 2"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Note Heading"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Body Text 2"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Body Text 3"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Body Text Indent 2"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Body Text Indent 3"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Block Text"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Hyperlink"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="FollowedHyperlink"/&gt;
  &lt;w:LsdException Locked="false" Priority="22" QFormat="true" Name="Strong"/&gt;
  &lt;w:LsdException Locked="false" Priority="20" QFormat="true" Name="Emphasis"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Document Map"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Plain Text"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="E-mail Signature"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Top of Form"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Bottom of Form"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Normal (Web)"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Acronym"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Address"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Cite"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Code"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Definition"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Keyboard"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Preformatted"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Sample"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Typewriter"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="HTML Variable"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Normal Table"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="annotation subject"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="No List"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Outline List 1"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Outline List 2"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Outline List 3"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Simple 1"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Simple 2"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Simple 3"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Classic 1"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Classic 2"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Classic 3"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Classic 4"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Colorful 1"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Colorful 2"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Colorful 3"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Columns 1"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Columns 2"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Columns 3"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Columns 4"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Columns 5"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Grid 1"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Grid 2"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Grid 3"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Grid 4"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Grid 5"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Grid 6"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Grid 7"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Grid 8"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table List 1"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table List 2"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table List 3"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table List 4"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table List 5"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table List 6"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table List 7"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table List 8"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table 3D effects 1"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table 3D effects 2"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table 3D effects 3"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Contemporary"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Elegant"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Professional"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Subtle 1"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Subtle 2"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Web 1"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Web 2"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Web 3"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Balloon Text"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="Table Grid"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
   Name="Table Theme"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" Name="Placeholder Text"/&gt;
  &lt;w:LsdException Locked="false" Priority="1" QFormat="true" Name="No Spacing"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" Name="Light Shading"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" Name="Light List"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" Name="Light Grid"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" Name="Medium Shading 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" Name="Medium Shading 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" Name="Medium List 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" Name="Medium List 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" Name="Medium Grid 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" Name="Medium Grid 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" Name="Medium Grid 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" Name="Dark List"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" Name="Colorful Shading"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" Name="Colorful List"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" Name="Colorful Grid"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" Name="Light List Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" SemiHidden="true" Name="Revision"/&gt;
  &lt;w:LsdException Locked="false" Priority="34" QFormat="true"
   Name="List Paragraph"/&gt;
  &lt;w:LsdException Locked="false" Priority="29" QFormat="true" Name="Quote"/&gt;
  &lt;w:LsdException Locked="false" Priority="30" QFormat="true"
   Name="Intense Quote"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" Name="Dark List Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" Name="Light List Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" Name="Dark List Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" Name="Light List Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" Name="Dark List Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" Name="Light List Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" Name="Dark List Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" Name="Light List Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" Name="Dark List Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" Name="Light List Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" Name="Dark List Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="19" QFormat="true"
   Name="Subtle Emphasis"/&gt;
  &lt;w:LsdException Locked="false" Priority="21" QFormat="true"
   Name="Intense Emphasis"/&gt;
  &lt;w:LsdException Locked="false" Priority="31" QFormat="true"
   Name="Subtle Reference"/&gt;
  &lt;w:LsdException Locked="false" Priority="32" QFormat="true"
   Name="Intense Reference"/&gt;
  &lt;w:LsdException Locked="false" Priority="33" QFormat="true" Name="Book Title"/&gt;
  &lt;w:LsdException Locked="false" Priority="37" SemiHidden="true"
   UnhideWhenUsed="true" Name="Bibliography"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" SemiHidden="true"
   UnhideWhenUsed="true" QFormat="true" Name="TOC Heading"/&gt;
  &lt;w:LsdException Locked="false" Priority="41" Name="Plain Table 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="42" Name="Plain Table 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="43" Name="Plain Table 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="44" Name="Plain Table 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="45" Name="Plain Table 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="40" Name="Grid Table Light"/&gt;
  &lt;w:LsdException Locked="false" Priority="46" Name="Grid Table 1 Light"/&gt;
  &lt;w:LsdException Locked="false" Priority="47" Name="Grid Table 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="48" Name="Grid Table 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="49" Name="Grid Table 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark"/&gt;
  &lt;w:LsdException Locked="false" Priority="51" Name="Grid Table 6 Colorful"/&gt;
  &lt;w:LsdException Locked="false" Priority="52" Name="Grid Table 7 Colorful"/&gt;
  &lt;w:LsdException Locked="false" Priority="46"
   Name="Grid Table 1 Light Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="51"
   Name="Grid Table 6 Colorful Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="52"
   Name="Grid Table 7 Colorful Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="46"
   Name="Grid Table 1 Light Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="51"
   Name="Grid Table 6 Colorful Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="52"
   Name="Grid Table 7 Colorful Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="46"
   Name="Grid Table 1 Light Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="51"
   Name="Grid Table 6 Colorful Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="52"
   Name="Grid Table 7 Colorful Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="46"
   Name="Grid Table 1 Light Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="51"
   Name="Grid Table 6 Colorful Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="52"
   Name="Grid Table 7 Colorful Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="46"
   Name="Grid Table 1 Light Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="51"
   Name="Grid Table 6 Colorful Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="52"
   Name="Grid Table 7 Colorful Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="46"
   Name="Grid Table 1 Light Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="51"
   Name="Grid Table 6 Colorful Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="52"
   Name="Grid Table 7 Colorful Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="46" Name="List Table 1 Light"/&gt;
  &lt;w:LsdException Locked="false" Priority="47" Name="List Table 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="48" Name="List Table 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="49" Name="List Table 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark"/&gt;
  &lt;w:LsdException Locked="false" Priority="51" Name="List Table 6 Colorful"/&gt;
  &lt;w:LsdException Locked="false" Priority="52" Name="List Table 7 Colorful"/&gt;
  &lt;w:LsdException Locked="false" Priority="46"
   Name="List Table 1 Light Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="51"
   Name="List Table 6 Colorful Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="52"
   Name="List Table 7 Colorful Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="46"
   Name="List Table 1 Light Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="51"
   Name="List Table 6 Colorful Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="52"
   Name="List Table 7 Colorful Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="46"
   Name="List Table 1 Light Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="51"
   Name="List Table 6 Colorful Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="52"
   Name="List Table 7 Colorful Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="46"
   Name="List Table 1 Light Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="51"
   Name="List Table 6 Colorful Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="52"
   Name="List Table 7 Colorful Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="46"
   Name="List Table 1 Light Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="51"
   Name="List Table 6 Colorful Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="52"
   Name="List Table 7 Colorful Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="46"
   Name="List Table 1 Light Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="51"
   Name="List Table 6 Colorful Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="52"
   Name="List Table 7 Colorful Accent 6"/&gt;
 &lt;/w:LatentStyles&gt;
&lt;/xml&gt;&lt;![endif]--&gt;
&lt;!--[if gte mso 10]&gt;
&lt;style&gt;
 /* Style Definitions */
 table.MsoNormalTable
	{mso-style-name:"Table Normal";
	mso-tstyle-rowband-size:0;
	mso-tstyle-colband-size:0;
	mso-style-noshow:yes;
	mso-style-priority:99;
	mso-style-parent:"";
	mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
	mso-para-margin-top:0cm;
	mso-para-margin-right:0cm;
	mso-para-margin-bottom:8.0pt;
	mso-para-margin-left:0cm;
	line-height:107%;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	font-family:"Calibri",sans-serif;
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-fareast-language:EN-US;}
&lt;/style&gt;
&lt;![endif]--&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.gregcons.com/KateBlog/aggbug.ashx?id=9822ef2b-bb8e-438c-a04c-0b567dd78478" /&gt;</description>
      <category>C++</category>
      <category>Consulting Life</category>
      <category>Speaking</category>
      <category>Travel</category>
    </item>
  </channel>
</rss>