<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>Tim Barcz - Community</title>
    <link>http://www.timbarcz.com/blog/</link>
    <description>My Code is My Craft</description>
    <image>
      <url>http://www.timbarcz.com/blog/content/binary/channelImage.jpg</url>
      <title>Tim Barcz - Community</title>
      <link>http://www.timbarcz.com/blog/</link>
    </image>
    <language>en-us</language>
    <copyright>Tim Barcz</copyright>
    <lastBuildDate>Mon, 10 Nov 2008 20:04:05 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 2.0.7226.0</generator>
    <managingEditor>blog@timbarcz.com</managingEditor>
    <webMaster>blog@timbarcz.com</webMaster>
    <item>
      <trackback:ping>http://www.timbarcz.com/blog/Trackback.aspx?guid=d5d2a6a1-4891-432a-b408-47a34b2b2e2c</trackback:ping>
      <pingback:server>http://www.timbarcz.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.timbarcz.com/blog/PermaLink,guid,d5d2a6a1-4891-432a-b408-47a34b2b2e2c.aspx</pingback:target>
      <dc:creator>Tim Barcz</dc:creator>
      <wfw:comment>http://www.timbarcz.com/blog/CommentView,guid,d5d2a6a1-4891-432a-b408-47a34b2b2e2c.aspx</wfw:comment>
      <wfw:commentRss>http://www.timbarcz.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=d5d2a6a1-4891-432a-b408-47a34b2b2e2c</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://www.timbarcz.com/blog/content/binary/WindowsLiveWriter/IowaCodeCamp2InReview_C09C/image_2.png">
            <img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="467" alt="image" src="http://www.timbarcz.com/blog/content/binary/WindowsLiveWriter/IowaCodeCamp2InReview_C09C/image_thumb.png" width="412" align="right" border="0" />
          </a> This
past weekend in West Des Moines, Iowa I attended the <a href="http://www.iowacodecamp.com/">Iowa
Code Camp</a>.  This was the second such event this year and it amazes me how
well these events have gone given they are in their infancy.  The leadership
deserves a huge round of kudos for pulling off such a great event.
</p>
        <h2>Recap:
</h2>
        <p>
This was a big day as I was leading four session, two by myself, and two fishbowl
type sessions.  Below is my recounting of an awesome day!
</p>
        <h3>Open Source Tools for the .NET Developer
</h3>
        <p>
This was my only open session where I was not helping or giving the talk.  So
this was a good time to soak in some knowledge.  <a href="http://www.lozanotek.com">Javier
Lozano</a> did a great job introducing some of the open source tools that he considers
a must.  I use everything he was saying, so I was hoping to catch a nugget here
or there that I could take back to work with me.  In general I think this was
a very good talk.  Covered a lot of ground in a short amount of time but attendees
could see by the interaction from a few in the crowd that many of these tools are
mature and being used quite heavily with a lot of confidence by other attendees.
</p>
        <h3>Fishbowl Session(s)
</h3>
        <p>
          <a href="http://subjunctive.wordpress.com/">Chris Sutton</a> has had a vision of bringing
open discussion to the Iowa Code Camp since the last go around in May.  He tapped <a href="http://www.developernotes.com">Nick
Parker</a> and myself to facilitate.  We weren't sure how the idea of dynamic
selection of topics for group discussion would go, but we were very surprised and
pleased with the outcome.  We had two of these "sessions" during the
day and both of the discussions were very good.
</p>
        <h3>Easing Your Testing With Rhino Mocks
</h3>
        <p>
This was my talk.  I've given this talk before internally but I was a little
skeptical of how the talk would go given that I didn't know who would attend, their
familiarity with testing and/or mocking, and what they're knowledge level was in general. 
I had struggled with where to take people.  In preparation my talk went from
"way too much" to "too trivial" at times.  By Friday night
I felt like I had the kinks worked out.  Overall though I think this talk went
very well.  I first introduced code that does not lend itself to be easily tested. 
I wanted to address testability as a design time idea.  After going through what
made this code not easily testable we refactored the code to allow us to get in there
are test what we wanted.  We created some stubs and mocks by hand to test both
state and interactions.  After showing you could test by writing your own mocks
I wanted to show that it's much easier to leverage a framework.  Given the amount
and type of questions, I feel pretty good that the attendees understood why you would
want to mock and how you would do so.  I'm confident attendees walked away with
something they could take to their jobs on Monday morning.
</p>
        <h3>TDD: A Workshop in Driving Your Design with Tests
</h3>
        <p>
This was my second, self-led session of the day.  I'm not a TDD expert by any
means.  Quite frankly, like many out there, I too am learning what it means. 
As I've learned and studied, I find that many people classify TDD wrongly.  I
often hear something like, "We write unit tests and do TDD" or "We
add tests to our code using TDD", which seem to blur the lines between TDD and
unit-tests.  I wanted to clear the air and share what I knew.  Rather than
doing a talk where I stood up in front of the group and they watched me do something,
I wanted to get them involved.  TDD is hard, and I wanted to people to get a
true sense of what TDD feels like and how it takes discipline to accomplish. 
The idea for this was to have a workshop and as a group solve a problem using TDD. 
I think the the knowledge transfer was good and people saw what TDD really is. 
The downside was getting people to get out of their seats and code.  The idea
was to have a person write a failing test, then someone else write the code to make
it pass.  Out of a very good crowd of about 30, only about 7 were willing to
interact which was somewhat disappointing.  I think the idea of an interactive
workshop is still a good one, however, as someone suggested, I would structure it
quite differently, possibly keeping someone at the computer for a few minutes at a
time.
</p>
        <h2>Conclusion
</h2>
        <p>
Overall the day was awesome and I look forward to the next.  If you have access
to a code camp they really are a great way to learn.  Imagine trying to learn
something new and having someone right there begging you to ask them a question. 
I look forward to the next <a href="http://www.iowacodecamp.com/">Iowa Code Camp</a>,
which will be next spring.  Leading four sessions was a lot but come May I will
probably be pushing myself to present again as much, ever hoping to help someone be
better than they were the day before.
</p>
        <img width="0" height="0" src="http://www.timbarcz.com/blog/aggbug.ashx?id=d5d2a6a1-4891-432a-b408-47a34b2b2e2c" />
      </body>
      <title>Iowa Code Camp 2 - In Review</title>
      <guid isPermaLink="false">http://www.timbarcz.com/blog/PermaLink,guid,d5d2a6a1-4891-432a-b408-47a34b2b2e2c.aspx</guid>
      <link>http://www.timbarcz.com/blog/IowaCodeCamp2InReview.aspx</link>
      <pubDate>Mon, 10 Nov 2008 20:04:05 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a href="http://www.timbarcz.com/blog/content/binary/WindowsLiveWriter/IowaCodeCamp2InReview_C09C/image_2.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="467" alt="image" src="http://www.timbarcz.com/blog/content/binary/WindowsLiveWriter/IowaCodeCamp2InReview_C09C/image_thumb.png" width="412" align="right" border="0" /&gt;&lt;/a&gt; This
past weekend in West Des Moines, Iowa I attended the &lt;a href="http://www.iowacodecamp.com/"&gt;Iowa
Code Camp&lt;/a&gt;.&amp;#160; This was the second such event this year and it amazes me how
well these events have gone given they are in their infancy.&amp;#160; The leadership
deserves a huge round of kudos for pulling off such a great event.
&lt;/p&gt;
&lt;h2&gt;Recap:
&lt;/h2&gt;
&lt;p&gt;
This was a big day as I was leading four session, two by myself, and two fishbowl
type sessions.&amp;#160; Below is my recounting of an awesome day!
&lt;/p&gt;
&lt;h3&gt;Open Source Tools for the .NET Developer
&lt;/h3&gt;
&lt;p&gt;
This was my only open session where I was not helping or giving the talk.&amp;#160; So
this was a good time to soak in some knowledge.&amp;#160; &lt;a href="http://www.lozanotek.com"&gt;Javier
Lozano&lt;/a&gt; did a great job introducing some of the open source tools that he considers
a must.&amp;#160; I use everything he was saying, so I was hoping to catch a nugget here
or there that I could take back to work with me.&amp;#160; In general I think this was
a very good talk.&amp;#160; Covered a lot of ground in a short amount of time but attendees
could see by the interaction from a few in the crowd that many of these tools are
mature and being used quite heavily with a lot of confidence by other attendees.
&lt;/p&gt;
&lt;h3&gt;Fishbowl Session(s)
&lt;/h3&gt;
&lt;p&gt;
&lt;a href="http://subjunctive.wordpress.com/"&gt;Chris Sutton&lt;/a&gt; has had a vision of bringing
open discussion to the Iowa Code Camp since the last go around in May.&amp;#160; He tapped &lt;a href="http://www.developernotes.com"&gt;Nick
Parker&lt;/a&gt; and myself to facilitate.&amp;#160; We weren't sure how the idea of dynamic
selection of topics for group discussion would go, but we were very surprised and
pleased with the outcome.&amp;#160; We had two of these &amp;quot;sessions&amp;quot; during the
day and both of the discussions were very good.
&lt;/p&gt;
&lt;h3&gt;Easing Your Testing With Rhino Mocks
&lt;/h3&gt;
&lt;p&gt;
This was my talk.&amp;#160; I've given this talk before internally but I was a little
skeptical of how the talk would go given that I didn't know who would attend, their
familiarity with testing and/or mocking, and what they're knowledge level was in general.&amp;#160;
I had struggled with where to take people.&amp;#160; In preparation my talk went from
&amp;quot;way too much&amp;quot; to &amp;quot;too trivial&amp;quot; at times.&amp;#160; By Friday night
I felt like I had the kinks worked out.&amp;#160; Overall though I think this talk went
very well.&amp;#160; I first introduced code that does not lend itself to be easily tested.&amp;#160;
I wanted to address testability as a design time idea.&amp;#160; After going through what
made this code not easily testable we refactored the code to allow us to get in there
are test what we wanted.&amp;#160; We created some stubs and mocks by hand to test both
state and interactions.&amp;#160; After showing you could test by writing your own mocks
I wanted to show that it's much easier to leverage a framework.&amp;#160; Given the amount
and type of questions, I feel pretty good that the attendees understood why you would
want to mock and how you would do so.&amp;#160; I'm confident attendees walked away with
something they could take to their jobs on Monday morning.
&lt;/p&gt;
&lt;h3&gt;TDD: A Workshop in Driving Your Design with Tests
&lt;/h3&gt;
&lt;p&gt;
This was my second, self-led session of the day.&amp;#160; I'm not a TDD expert by any
means.&amp;#160; Quite frankly, like many out there, I too am learning what it means.&amp;#160;
As I've learned and studied, I find that many people classify TDD wrongly.&amp;#160; I
often hear something like, &amp;quot;We write unit tests and do TDD&amp;quot; or &amp;quot;We
add tests to our code using TDD&amp;quot;, which seem to blur the lines between TDD and
unit-tests.&amp;#160; I wanted to clear the air and share what I knew.&amp;#160; Rather than
doing a talk where I stood up in front of the group and they watched me do something,
I wanted to get them involved.&amp;#160; TDD is hard, and I wanted to people to get a
true sense of what TDD feels like and how it takes discipline to accomplish.&amp;#160;
The idea for this was to have a workshop and as a group solve a problem using TDD.&amp;#160;
I think the the knowledge transfer was good and people saw what TDD really is.&amp;#160;
The downside was getting people to get out of their seats and code.&amp;#160; The idea
was to have a person write a failing test, then someone else write the code to make
it pass.&amp;#160; Out of a very good crowd of about 30, only about 7 were willing to
interact which was somewhat disappointing.&amp;#160; I think the idea of an interactive
workshop is still a good one, however, as someone suggested, I would structure it
quite differently, possibly keeping someone at the computer for a few minutes at a
time.
&lt;/p&gt;
&lt;h2&gt;Conclusion
&lt;/h2&gt;
&lt;p&gt;
Overall the day was awesome and I look forward to the next.&amp;#160; If you have access
to a code camp they really are a great way to learn.&amp;#160; Imagine trying to learn
something new and having someone right there begging you to ask them a question.&amp;#160;
I look forward to the next &lt;a href="http://www.iowacodecamp.com/"&gt;Iowa Code Camp&lt;/a&gt;,
which will be next spring.&amp;#160; Leading four sessions was a lot but come May I will
probably be pushing myself to present again as much, ever hoping to help someone be
better than they were the day before.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.timbarcz.com/blog/aggbug.ashx?id=d5d2a6a1-4891-432a-b408-47a34b2b2e2c" /&gt;</description>
      <comments>http://www.timbarcz.com/blog/CommentView,guid,d5d2a6a1-4891-432a-b408-47a34b2b2e2c.aspx</comments>
      <category>Code Camps</category>
      <category>Community</category>
    </item>
    <item>
      <trackback:ping>http://www.timbarcz.com/blog/Trackback.aspx?guid=fcfbaf3e-b3c8-4c9d-bb7a-19721b7153fc</trackback:ping>
      <pingback:server>http://www.timbarcz.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.timbarcz.com/blog/PermaLink,guid,fcfbaf3e-b3c8-4c9d-bb7a-19721b7153fc.aspx</pingback:target>
      <dc:creator>Tim Barcz</dc:creator>
      <wfw:comment>http://www.timbarcz.com/blog/CommentView,guid,fcfbaf3e-b3c8-4c9d-bb7a-19721b7153fc.aspx</wfw:comment>
      <wfw:commentRss>http://www.timbarcz.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=fcfbaf3e-b3c8-4c9d-bb7a-19721b7153fc</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://www.timbarcz.com/blog/content/binary/WindowsLiveWriter/IowaCodeCampNovember8_1421C/image_2.png">
            <img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="122" alt="image" src="http://www.timbarcz.com/blog/content/binary/WindowsLiveWriter/IowaCodeCampNovember8_1421C/image_thumb.png" width="437" align="right" border="0" />
          </a>
        </p>
        <p>
I want to invite any of you who are within a few hours of <a href="http://maps.google.com/maps?q=Des+Moines,+Iowa&amp;ie=UTF8&amp;oe=utf-8&amp;client=firefox-a&amp;t=h&amp;z=12&amp;iwloc=addr">Des
Moines, Iowa</a> to attend the second <a href="http://www.iowacodecamp.com">Iowa Code
Camp</a> on November 8th.  The first Iowa Code Camp back in May was a huge success.
From <a href="http://devlicio.us/blogs/derik_whittaker/archive/2008/05/04/iowa-code-camp-in-the-rear-view-mirror.aspx">Derik's
write-up</a>:
</p>
        <blockquote>
          <p>
Yesterdays event was awesome.  They had about 125-150 people show up for the
first ever Code Camp in Iowa.  The venue could not have been any nicer and setup
any better.
</p>
        </blockquote>
        <p>
I will be giving one presentation on using RhinoMocks and one workshop on TDD. 
Below are the abstracts.  If you have the chance, take part, and <a href="http://iowacodecamp.com/">register
today</a>.
</p>
        <p>
          <b>TDD: A Workshop in Driving Your Design with Tests</b>
        </p>
        <p>
If you've heard about Test Driven Development (TDD) and wondered what it was or how
to do it, then this workshop is for you.  We'll take a practical, introductory
approach to getting started with TDD.  We'll introduce fundamental object-oriented
design principles including separation of concerns, dependency injection/inversion,
and more.  This will be a hands on lab, so bring your laptops and a copy of Visual
Studio 2008 and expect to learn. 
</p>
        <p>
          <b>Easing your Testing With RhinoMocks 
<br /></b>
        </p>
        <p>
When learning about testing you'll see trivial examples illustrating how to write
tests. However most production code is non-trivial, making calls to configuration
files or to a database which makes testing in isolation hard.  The use of mock
objects allows you to isolate code you want to test by providing fake objects to your
methods, allowing you to set up complex scenarios to test specific conditions. 
In this session we'll first dig into some code that is not very testable and refactor
it to make it more testable.  After the refactoring we'll use and explore RhinoMocks
to see how we can test different scenarios in our code and verify our code is working
as it should.
</p>
        <img width="0" height="0" src="http://www.timbarcz.com/blog/aggbug.ashx?id=fcfbaf3e-b3c8-4c9d-bb7a-19721b7153fc" />
      </body>
      <title>Iowa Code Camp - November 8</title>
      <guid isPermaLink="false">http://www.timbarcz.com/blog/PermaLink,guid,fcfbaf3e-b3c8-4c9d-bb7a-19721b7153fc.aspx</guid>
      <link>http://www.timbarcz.com/blog/IowaCodeCampNovember8.aspx</link>
      <pubDate>Wed, 08 Oct 2008 03:56:31 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a href="http://www.timbarcz.com/blog/content/binary/WindowsLiveWriter/IowaCodeCampNovember8_1421C/image_2.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="122" alt="image" src="http://www.timbarcz.com/blog/content/binary/WindowsLiveWriter/IowaCodeCampNovember8_1421C/image_thumb.png" width="437" align="right" border="0" /&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
I want to invite any of you who are within a few hours of &lt;a href="http://maps.google.com/maps?q=Des+Moines,+Iowa&amp;amp;ie=UTF8&amp;amp;oe=utf-8&amp;amp;client=firefox-a&amp;amp;t=h&amp;amp;z=12&amp;amp;iwloc=addr"&gt;Des
Moines, Iowa&lt;/a&gt; to attend the second &lt;a href="http://www.iowacodecamp.com"&gt;Iowa Code
Camp&lt;/a&gt; on November 8th.&amp;#160; The first Iowa Code Camp back in May was a huge success.
From &lt;a href="http://devlicio.us/blogs/derik_whittaker/archive/2008/05/04/iowa-code-camp-in-the-rear-view-mirror.aspx"&gt;Derik's
write-up&lt;/a&gt;:
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;p&gt;
Yesterdays event was awesome.&amp;#160; They had about 125-150 people show up for the
first ever Code Camp in Iowa.&amp;#160; The venue could not have been any nicer and setup
any better.
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
I will be giving one presentation on using RhinoMocks and one workshop on TDD.&amp;#160;
Below are the abstracts.&amp;#160; If you have the chance, take part, and &lt;a href="http://iowacodecamp.com/"&gt;register
today&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;TDD: A Workshop in Driving Your Design with Tests&lt;/b&gt;
&lt;/p&gt;
&lt;p&gt;
If you've heard about Test Driven Development (TDD) and wondered what it was or how
to do it, then this workshop is for you.&amp;#160; We'll take a practical, introductory
approach to getting started with TDD.&amp;#160; We'll introduce fundamental object-oriented
design principles including separation of concerns, dependency injection/inversion,
and more.&amp;#160; This will be a hands on lab, so bring your laptops and a copy of Visual
Studio 2008 and expect to learn. 
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;Easing your Testing With RhinoMocks 
&lt;br /&gt;
&lt;/b&gt;
&lt;/p&gt;
&lt;p&gt;
When learning about testing you'll see trivial examples illustrating how to write
tests. However most production code is non-trivial, making calls to configuration
files or to a database which makes testing in isolation hard.&amp;#160; The use of mock
objects allows you to isolate code you want to test by providing fake objects to your
methods, allowing you to set up complex scenarios to test specific conditions.&amp;#160;
In this session we'll first dig into some code that is not very testable and refactor
it to make it more testable.&amp;#160; After the refactoring we'll use and explore RhinoMocks
to see how we can test different scenarios in our code and verify our code is working
as it should.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.timbarcz.com/blog/aggbug.ashx?id=fcfbaf3e-b3c8-4c9d-bb7a-19721b7153fc" /&gt;</description>
      <comments>http://www.timbarcz.com/blog/CommentView,guid,fcfbaf3e-b3c8-4c9d-bb7a-19721b7153fc.aspx</comments>
      <category>Announcement</category>
      <category>Community</category>
      <category>CRIneta</category>
      <category>Rhino Mocks</category>
      <category>Testing</category>
    </item>
  </channel>
</rss>