<?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:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>Mo Khan: My Blog! - .NET User Group</title>
    <link>http://mokhan.ca/blog/</link>
    <description>Update your gray matter, because one day it may matter!</description>
    <language>en-us</language>
    <copyright>Mo Khan</copyright>
    <lastBuildDate>Thu, 06 Mar 2008 12:56:27 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 2.0.7226.0</generator>
    <managingEditor>mo@mokhan.ca</managingEditor>
    <webMaster>mo@mokhan.ca</webMaster>
    <item>
      <trackback:ping>http://mokhan.ca/blog/Trackback.aspx?guid=e385ef91-ab1d-438c-9018-1b08978f4c75</trackback:ping>
      <pingback:server>http://mokhan.ca/blog/pingback.aspx</pingback:server>
      <pingback:target>http://mokhan.ca/blog/PermaLink,guid,e385ef91-ab1d-438c-9018-1b08978f4c75.aspx</pingback:target>
      <dc:creator>Mr mO!</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Last week I went and checked out JP's latest presentation on Generics at the Calgary
.NET User Group, and as usual it was awesome! He's definitely knee deep in C# 3.0,
and was dropping lambda's and extension methods like it was old news... Here's some
of the stuff I learned.
</p>
        <p>
Extending the ISpecification interface via the use of Extension methods. 
</p>
        <pre class="code">
          <span style="color: rgb(0,0,255)">public</span>
          <span style="color: rgb(0,0,255)">static</span>
          <span style="color: rgb(0,0,255)">class</span>
          <span style="color: rgb(43,145,175)">SpecificationExtensions</span> { <span style="color: rgb(0,0,255)">public</span><span style="color: rgb(0,0,255)">static</span><span style="color: rgb(43,145,175)">ISpecification</span>&lt;
T &gt; And&lt; T &gt;( <span style="color: rgb(0,0,255)">this</span><span style="color: rgb(43,145,175)">ISpecification</span>&lt;
T &gt; leftSide, <span style="color: rgb(43,145,175)">ISpecification</span>&lt; T
&gt; rightSide ) { <span style="color: rgb(0,0,255)">return</span><span style="color: rgb(0,0,255)">new</span><span style="color: rgb(43,145,175)">AndSpecification</span>&lt;
T &gt;( leftSide, rightSide ); } <span style="color: rgb(0,0,255)">public</span><span style="color: rgb(0,0,255)">static</span><span style="color: rgb(43,145,175)">ISpecification</span>&lt;
T &gt; And&lt; T &gt;( <span style="color: rgb(0,0,255)">this</span><span style="color: rgb(43,145,175)">ISpecification</span>&lt;
T &gt; left, <span style="color: rgb(43,145,175)">Predicate</span>&lt; T &gt; criteriaToSatisfy
) { <span style="color: rgb(0,0,255)">return</span> left.And( <span style="color: rgb(0,0,255)">new</span><span style="color: rgb(43,145,175)">Specification</span>&lt;
T &gt;( criteriaToSatisfy ) ); } <span style="color: rgb(0,0,255)">public</span><span style="color: rgb(0,0,255)">static</span><span style="color: rgb(43,145,175)">ISpecification</span>&lt;
T &gt; Or&lt; T &gt;( <span style="color: rgb(0,0,255)">this</span><span style="color: rgb(43,145,175)">ISpecification</span>&lt;
T &gt; leftSide, <span style="color: rgb(43,145,175)">ISpecification</span>&lt; T
&gt; rightSide ) { <span style="color: rgb(0,0,255)">return</span><span style="color: rgb(0,0,255)">new</span><span style="color: rgb(43,145,175)">OrSpecification</span>&lt;
T &gt;( leftSide, rightSide ); } <span style="color: rgb(0,0,255)">public</span><span style="color: rgb(0,0,255)">static</span><span style="color: rgb(43,145,175)">ISpecification</span>&lt;
T &gt; Or&lt; T &gt;( <span style="color: rgb(0,0,255)">this</span><span style="color: rgb(43,145,175)">ISpecification</span>&lt;
T &gt; left, <span style="color: rgb(43,145,175)">Predicate</span>&lt; T &gt; criteriaToSatisfy
) { <span style="color: rgb(0,0,255)">return</span> left.Or( <span style="color: rgb(0,0,255)">new</span><span style="color: rgb(43,145,175)">Specification</span>&lt;
T &gt;( criteriaToSatisfy ) ); } <span style="color: rgb(0,0,255)">private</span><span style="color: rgb(0,0,255)">class</span><span style="color: rgb(43,145,175)">AndSpecification</span>&lt;
T &gt; : <span style="color: rgb(43,145,175)">ISpecification</span>&lt; T &gt; { <span style="color: rgb(0,0,255)">public</span> AndSpecification( <span style="color: rgb(43,145,175)">ISpecification</span>&lt;
T &gt; leftCriteria, <span style="color: rgb(43,145,175)">ISpecification</span>&lt;
T &gt; rightCriteria ) { <span style="color: rgb(0,0,255)">this</span>.leftCriteria
= leftCriteria; <span style="color: rgb(0,0,255)">this</span>.rightCriteria = rightCriteria;
} <span style="color: rgb(0,0,255)">public</span><span style="color: rgb(0,0,255)">bool</span> IsSatisfiedBy(
T item ) { <span style="color: rgb(0,0,255)">return</span> leftCriteria.IsSatisfiedBy(
item ) &amp;&amp; rightCriteria.IsSatisfiedBy( item ); } <span style="color: rgb(0,0,255)">private</span><span style="color: rgb(43,145,175)">ISpecification</span>&lt;
T &gt; leftCriteria; <span style="color: rgb(0,0,255)">private</span><span style="color: rgb(43,145,175)">ISpecification</span>&lt;
T &gt; rightCriteria; } <span style="color: rgb(0,0,255)">private</span><span style="color: rgb(0,0,255)">class</span><span style="color: rgb(43,145,175)">OrSpecification</span>&lt;
T &gt; : <span style="color: rgb(43,145,175)">ISpecification</span>&lt; T &gt; { <span style="color: rgb(0,0,255)">public</span> OrSpecification( <span style="color: rgb(43,145,175)">ISpecification</span>&lt;
T &gt; leftCriteria, <span style="color: rgb(43,145,175)">ISpecification</span>&lt;
T &gt; rightCriteria ) { <span style="color: rgb(0,0,255)">this</span>.leftCriteria
= leftCriteria; <span style="color: rgb(0,0,255)">this</span>.rightCriteria = rightCriteria;
} <span style="color: rgb(0,0,255)">public</span><span style="color: rgb(0,0,255)">bool</span> IsSatisfiedBy(
T item ) { <span style="color: rgb(0,0,255)">return</span> leftCriteria.IsSatisfiedBy(
item ) || rightCriteria.IsSatisfiedBy( item ); } <span style="color: rgb(0,0,255)">private</span><span style="color: rgb(43,145,175)">ISpecification</span>&lt;
T &gt; leftCriteria; <span style="color: rgb(0,0,255)">private</span><span style="color: rgb(43,145,175)">ISpecification</span>&lt;
T &gt; rightCriteria; } }</pre>
        <p>
By accepting a Predicate&lt;T&gt; delegate as the second argument you can now inline
your lambdas and still take advantage of specifications. Client components can now
take advantage of these extensions like this...
</p>
        <pre class="code">
          <span style="color: rgb(0,0,255)">public</span>
          <span style="color: rgb(0,0,255)">class</span>
          <span style="color: rgb(43,145,175)">SlipsRepository</span> : <span style="color: rgb(43,145,175)">ISlipsRepository</span> { <span style="color: rgb(0,0,255)">public</span> SlipsRepository( <span style="color: rgb(43,145,175)">ISlipDataMapper</span> mapper
) { _mapper = mapper; } <span style="color: rgb(0,0,255)">public</span><span style="color: rgb(43,145,175)">IEnumerable</span>&lt; <span style="color: rgb(43,145,175)">ISlip</span> &gt;
AllAvailableSlips() { <span style="color: rgb(0,0,255)">return</span> _mapper.AllSlips(
).Where( <span style="color: rgb(43,145,175)">Is</span>.NotLeased( ) ); } <span style="color: rgb(0,0,255)">public</span><span style="color: rgb(43,145,175)">IEnumerable</span>&lt; <span style="color: rgb(43,145,175)">ISlip</span> &gt;
AllAvailableSlipsFor( <span style="color: rgb(43,145,175)">IDock</span> dockToFindSlipsOn
) { <span style="color: rgb(0,0,255)">return</span> _mapper.AllSlips( ).Where( <span style="color: rgb(43,145,175)">Is</span>.NotLeased(
).And( <span style="color: rgb(43,145,175)">Is</span>.On( dockToFindSlipsOn ) ) );
} <span style="color: rgb(0,0,255)">private</span><span style="color: rgb(0,0,255)">readonly</span><span style="color: rgb(43,145,175)">ISlipDataMapper</span> _mapper; <span style="color: rgb(0,0,255)">private</span><span style="color: rgb(0,0,255)">static</span><span style="color: rgb(0,0,255)">class</span><span style="color: rgb(43,145,175)">Is</span> { <span style="color: rgb(0,0,255)">public</span><span style="color: rgb(0,0,255)">static</span><span style="color: rgb(43,145,175)">ISpecification</span>&lt; <span style="color: rgb(43,145,175)">ISlip</span> &gt;
NotLeased() { <span style="color: rgb(0,0,255)">return</span><span style="color: rgb(0,0,255)">new</span><span style="color: rgb(43,145,175)">Specification</span>&lt; <span style="color: rgb(43,145,175)">ISlip</span> &gt;(
slip =&gt; !slip.IsLeased( ) ); } <span style="color: rgb(0,0,255)">public</span><span style="color: rgb(0,0,255)">static</span><span style="color: rgb(43,145,175)">Predicate</span>&lt; <span style="color: rgb(43,145,175)">ISlip</span> &gt;
On( <span style="color: rgb(43,145,175)">IDock</span> dock ) { <span style="color: rgb(0,0,255)">return</span> slip
=&gt; dock.Equals( slip.Dock( ) ); } } }</pre>
        <a href="http://11011.net/software/vspaste">
        </a>
        <a href="http://11011.net/software/vspaste">
        </a>
        <p>
          <a href="http://11011.net/software/vspaste"> </a>The base specification class
becomes a quick and easy...
</p>
        <pre class="code">
          <span style="color: rgb(0,0,255)">public</span>
          <span style="color: rgb(0,0,255)">class</span>
          <span style="color: rgb(43,145,175)">Specification</span>&lt;
T &gt; : <span style="color: rgb(43,145,175)">ISpecification</span>&lt; T &gt; { <span style="color: rgb(0,0,255)">public</span> Specification( <span style="color: rgb(43,145,175)">Predicate</span>&lt;
T &gt; criteriaToSatisfy ) { _criteriaToSatisfy = criteriaToSatisfy; } <span style="color: rgb(0,0,255)">public</span><span style="color: rgb(0,0,255)">bool</span> IsSatisfiedBy(
T item ) { <span style="color: rgb(0,0,255)">return</span> _criteriaToSatisfy( item
); } <span style="color: rgb(0,0,255)">private</span><span style="color: rgb(0,0,255)">readonly</span><span style="color: rgb(43,145,175)">Predicate</span>&lt;
T &gt; _criteriaToSatisfy; }</pre>
        <a href="http://11011.net/software/vspaste">
        </a>
        <img width="0" height="0" src="http://mokhan.ca/blog/aggbug.ashx?id=e385ef91-ab1d-438c-9018-1b08978f4c75" />
      </body>
      <title>Specifications &amp;amp; Extension Methods</title>
      <guid isPermaLink="false">http://mokhan.ca/blog/PermaLink,guid,e385ef91-ab1d-438c-9018-1b08978f4c75.aspx</guid>
      <link>http://mokhan.ca/blog/2008/03/06/Specifications+Amp+Extension+Methods.aspx</link>
      <pubDate>Thu, 06 Mar 2008 12:56:27 GMT</pubDate>
      <description>&lt;p&gt;
Last week I went and checked out JP's latest presentation on Generics at the Calgary
.NET User Group, and as usual it was awesome! He's definitely knee deep in C# 3.0,
and was dropping lambda's and extension methods like it was old news... Here's some
of the stuff I learned.
&lt;/p&gt;
&lt;p&gt;
Extending the ISpecification interface via the use of Extension methods. 
&lt;/p&gt;
&lt;pre class="code"&gt;    &lt;span style="color: rgb(0,0,255)"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;static&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;class&lt;/span&gt; &lt;span style="color: rgb(43,145,175)"&gt;SpecificationExtensions&lt;/span&gt; { &lt;span style="color: rgb(0,0,255)"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;static&lt;/span&gt; &lt;span style="color: rgb(43,145,175)"&gt;ISpecification&lt;/span&gt;&amp;lt;
T &amp;gt; And&amp;lt; T &amp;gt;( &lt;span style="color: rgb(0,0,255)"&gt;this&lt;/span&gt; &lt;span style="color: rgb(43,145,175)"&gt;ISpecification&lt;/span&gt;&amp;lt;
T &amp;gt; leftSide, &lt;span style="color: rgb(43,145,175)"&gt;ISpecification&lt;/span&gt;&amp;lt; T
&amp;gt; rightSide ) { &lt;span style="color: rgb(0,0,255)"&gt;return&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43,145,175)"&gt;AndSpecification&lt;/span&gt;&amp;lt;
T &amp;gt;( leftSide, rightSide ); } &lt;span style="color: rgb(0,0,255)"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;static&lt;/span&gt; &lt;span style="color: rgb(43,145,175)"&gt;ISpecification&lt;/span&gt;&amp;lt;
T &amp;gt; And&amp;lt; T &amp;gt;( &lt;span style="color: rgb(0,0,255)"&gt;this&lt;/span&gt; &lt;span style="color: rgb(43,145,175)"&gt;ISpecification&lt;/span&gt;&amp;lt;
T &amp;gt; left, &lt;span style="color: rgb(43,145,175)"&gt;Predicate&lt;/span&gt;&amp;lt; T &amp;gt; criteriaToSatisfy
) { &lt;span style="color: rgb(0,0,255)"&gt;return&lt;/span&gt; left.And( &lt;span style="color: rgb(0,0,255)"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43,145,175)"&gt;Specification&lt;/span&gt;&amp;lt;
T &amp;gt;( criteriaToSatisfy ) ); } &lt;span style="color: rgb(0,0,255)"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;static&lt;/span&gt; &lt;span style="color: rgb(43,145,175)"&gt;ISpecification&lt;/span&gt;&amp;lt;
T &amp;gt; Or&amp;lt; T &amp;gt;( &lt;span style="color: rgb(0,0,255)"&gt;this&lt;/span&gt; &lt;span style="color: rgb(43,145,175)"&gt;ISpecification&lt;/span&gt;&amp;lt;
T &amp;gt; leftSide, &lt;span style="color: rgb(43,145,175)"&gt;ISpecification&lt;/span&gt;&amp;lt; T
&amp;gt; rightSide ) { &lt;span style="color: rgb(0,0,255)"&gt;return&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43,145,175)"&gt;OrSpecification&lt;/span&gt;&amp;lt;
T &amp;gt;( leftSide, rightSide ); } &lt;span style="color: rgb(0,0,255)"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;static&lt;/span&gt; &lt;span style="color: rgb(43,145,175)"&gt;ISpecification&lt;/span&gt;&amp;lt;
T &amp;gt; Or&amp;lt; T &amp;gt;( &lt;span style="color: rgb(0,0,255)"&gt;this&lt;/span&gt; &lt;span style="color: rgb(43,145,175)"&gt;ISpecification&lt;/span&gt;&amp;lt;
T &amp;gt; left, &lt;span style="color: rgb(43,145,175)"&gt;Predicate&lt;/span&gt;&amp;lt; T &amp;gt; criteriaToSatisfy
) { &lt;span style="color: rgb(0,0,255)"&gt;return&lt;/span&gt; left.Or( &lt;span style="color: rgb(0,0,255)"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43,145,175)"&gt;Specification&lt;/span&gt;&amp;lt;
T &amp;gt;( criteriaToSatisfy ) ); } &lt;span style="color: rgb(0,0,255)"&gt;private&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;class&lt;/span&gt; &lt;span style="color: rgb(43,145,175)"&gt;AndSpecification&lt;/span&gt;&amp;lt;
T &amp;gt; : &lt;span style="color: rgb(43,145,175)"&gt;ISpecification&lt;/span&gt;&amp;lt; T &amp;gt; { &lt;span style="color: rgb(0,0,255)"&gt;public&lt;/span&gt; AndSpecification( &lt;span style="color: rgb(43,145,175)"&gt;ISpecification&lt;/span&gt;&amp;lt;
T &amp;gt; leftCriteria, &lt;span style="color: rgb(43,145,175)"&gt;ISpecification&lt;/span&gt;&amp;lt;
T &amp;gt; rightCriteria ) { &lt;span style="color: rgb(0,0,255)"&gt;this&lt;/span&gt;.leftCriteria
= leftCriteria; &lt;span style="color: rgb(0,0,255)"&gt;this&lt;/span&gt;.rightCriteria = rightCriteria;
} &lt;span style="color: rgb(0,0,255)"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;bool&lt;/span&gt; IsSatisfiedBy(
T item ) { &lt;span style="color: rgb(0,0,255)"&gt;return&lt;/span&gt; leftCriteria.IsSatisfiedBy(
item ) &amp;amp;&amp;amp; rightCriteria.IsSatisfiedBy( item ); } &lt;span style="color: rgb(0,0,255)"&gt;private&lt;/span&gt; &lt;span style="color: rgb(43,145,175)"&gt;ISpecification&lt;/span&gt;&amp;lt;
T &amp;gt; leftCriteria; &lt;span style="color: rgb(0,0,255)"&gt;private&lt;/span&gt; &lt;span style="color: rgb(43,145,175)"&gt;ISpecification&lt;/span&gt;&amp;lt;
T &amp;gt; rightCriteria; } &lt;span style="color: rgb(0,0,255)"&gt;private&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;class&lt;/span&gt; &lt;span style="color: rgb(43,145,175)"&gt;OrSpecification&lt;/span&gt;&amp;lt;
T &amp;gt; : &lt;span style="color: rgb(43,145,175)"&gt;ISpecification&lt;/span&gt;&amp;lt; T &amp;gt; { &lt;span style="color: rgb(0,0,255)"&gt;public&lt;/span&gt; OrSpecification( &lt;span style="color: rgb(43,145,175)"&gt;ISpecification&lt;/span&gt;&amp;lt;
T &amp;gt; leftCriteria, &lt;span style="color: rgb(43,145,175)"&gt;ISpecification&lt;/span&gt;&amp;lt;
T &amp;gt; rightCriteria ) { &lt;span style="color: rgb(0,0,255)"&gt;this&lt;/span&gt;.leftCriteria
= leftCriteria; &lt;span style="color: rgb(0,0,255)"&gt;this&lt;/span&gt;.rightCriteria = rightCriteria;
} &lt;span style="color: rgb(0,0,255)"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;bool&lt;/span&gt; IsSatisfiedBy(
T item ) { &lt;span style="color: rgb(0,0,255)"&gt;return&lt;/span&gt; leftCriteria.IsSatisfiedBy(
item ) || rightCriteria.IsSatisfiedBy( item ); } &lt;span style="color: rgb(0,0,255)"&gt;private&lt;/span&gt; &lt;span style="color: rgb(43,145,175)"&gt;ISpecification&lt;/span&gt;&amp;lt;
T &amp;gt; leftCriteria; &lt;span style="color: rgb(0,0,255)"&gt;private&lt;/span&gt; &lt;span style="color: rgb(43,145,175)"&gt;ISpecification&lt;/span&gt;&amp;lt;
T &amp;gt; rightCriteria; } }&lt;/pre&gt;
&lt;p&gt;
By accepting a Predicate&amp;lt;T&amp;gt; delegate as the second argument you can now inline
your lambdas and still take advantage of specifications. Client components can now
take advantage of these extensions like this...
&lt;/p&gt;
&lt;pre class="code"&gt;    &lt;span style="color: rgb(0,0,255)"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;class&lt;/span&gt; &lt;span style="color: rgb(43,145,175)"&gt;SlipsRepository&lt;/span&gt; : &lt;span style="color: rgb(43,145,175)"&gt;ISlipsRepository&lt;/span&gt; { &lt;span style="color: rgb(0,0,255)"&gt;public&lt;/span&gt; SlipsRepository( &lt;span style="color: rgb(43,145,175)"&gt;ISlipDataMapper&lt;/span&gt; mapper
) { _mapper = mapper; } &lt;span style="color: rgb(0,0,255)"&gt;public&lt;/span&gt; &lt;span style="color: rgb(43,145,175)"&gt;IEnumerable&lt;/span&gt;&amp;lt; &lt;span style="color: rgb(43,145,175)"&gt;ISlip&lt;/span&gt; &amp;gt;
AllAvailableSlips() { &lt;span style="color: rgb(0,0,255)"&gt;return&lt;/span&gt; _mapper.AllSlips(
).Where( &lt;span style="color: rgb(43,145,175)"&gt;Is&lt;/span&gt;.NotLeased( ) ); } &lt;span style="color: rgb(0,0,255)"&gt;public&lt;/span&gt; &lt;span style="color: rgb(43,145,175)"&gt;IEnumerable&lt;/span&gt;&amp;lt; &lt;span style="color: rgb(43,145,175)"&gt;ISlip&lt;/span&gt; &amp;gt;
AllAvailableSlipsFor( &lt;span style="color: rgb(43,145,175)"&gt;IDock&lt;/span&gt; dockToFindSlipsOn
) { &lt;span style="color: rgb(0,0,255)"&gt;return&lt;/span&gt; _mapper.AllSlips( ).Where( &lt;span style="color: rgb(43,145,175)"&gt;Is&lt;/span&gt;.NotLeased(
).And( &lt;span style="color: rgb(43,145,175)"&gt;Is&lt;/span&gt;.On( dockToFindSlipsOn ) ) );
} &lt;span style="color: rgb(0,0,255)"&gt;private&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;readonly&lt;/span&gt; &lt;span style="color: rgb(43,145,175)"&gt;ISlipDataMapper&lt;/span&gt; _mapper; &lt;span style="color: rgb(0,0,255)"&gt;private&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;static&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;class&lt;/span&gt; &lt;span style="color: rgb(43,145,175)"&gt;Is&lt;/span&gt; { &lt;span style="color: rgb(0,0,255)"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;static&lt;/span&gt; &lt;span style="color: rgb(43,145,175)"&gt;ISpecification&lt;/span&gt;&amp;lt; &lt;span style="color: rgb(43,145,175)"&gt;ISlip&lt;/span&gt; &amp;gt;
NotLeased() { &lt;span style="color: rgb(0,0,255)"&gt;return&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43,145,175)"&gt;Specification&lt;/span&gt;&amp;lt; &lt;span style="color: rgb(43,145,175)"&gt;ISlip&lt;/span&gt; &amp;gt;(
slip =&amp;gt; !slip.IsLeased( ) ); } &lt;span style="color: rgb(0,0,255)"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;static&lt;/span&gt; &lt;span style="color: rgb(43,145,175)"&gt;Predicate&lt;/span&gt;&amp;lt; &lt;span style="color: rgb(43,145,175)"&gt;ISlip&lt;/span&gt; &amp;gt;
On( &lt;span style="color: rgb(43,145,175)"&gt;IDock&lt;/span&gt; dock ) { &lt;span style="color: rgb(0,0,255)"&gt;return&lt;/span&gt; slip
=&amp;gt; dock.Equals( slip.Dock( ) ); } } }&lt;/pre&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt; 
&lt;p&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&amp;#160;&lt;/a&gt;The base specification class
becomes a quick and easy...
&lt;/p&gt;
&lt;pre class="code"&gt;    &lt;span style="color: rgb(0,0,255)"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;class&lt;/span&gt; &lt;span style="color: rgb(43,145,175)"&gt;Specification&lt;/span&gt;&amp;lt;
T &amp;gt; : &lt;span style="color: rgb(43,145,175)"&gt;ISpecification&lt;/span&gt;&amp;lt; T &amp;gt; { &lt;span style="color: rgb(0,0,255)"&gt;public&lt;/span&gt; Specification( &lt;span style="color: rgb(43,145,175)"&gt;Predicate&lt;/span&gt;&amp;lt;
T &amp;gt; criteriaToSatisfy ) { _criteriaToSatisfy = criteriaToSatisfy; } &lt;span style="color: rgb(0,0,255)"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;bool&lt;/span&gt; IsSatisfiedBy(
T item ) { &lt;span style="color: rgb(0,0,255)"&gt;return&lt;/span&gt; _criteriaToSatisfy( item
); } &lt;span style="color: rgb(0,0,255)"&gt;private&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;readonly&lt;/span&gt; &lt;span style="color: rgb(43,145,175)"&gt;Predicate&lt;/span&gt;&amp;lt;
T &amp;gt; _criteriaToSatisfy; }&lt;/pre&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;img width="0" height="0" src="http://mokhan.ca/blog/aggbug.ashx?id=e385ef91-ab1d-438c-9018-1b08978f4c75" /&gt;</description>
      <category>.NET User Group</category>
      <category>CSharp</category>
    </item>
    <item>
      <trackback:ping>http://mokhan.ca/blog/Trackback.aspx?guid=39f4031f-87ca-4e89-9b14-0cc4969ffb02</trackback:ping>
      <pingback:server>http://mokhan.ca/blog/pingback.aspx</pingback:server>
      <pingback:target>http://mokhan.ca/blog/PermaLink,guid,39f4031f-87ca-4e89-9b14-0cc4969ffb02.aspx</pingback:target>
      <dc:creator>Mr mO!</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I nominate <a href="http://graysmatter.codivation.com/">Justice Gray</a> for the <a href="http://mvp.support.microsoft.com/gp/mvpawardintro">Microsoft
MVP Award</a>.
</p>
        <ul>
          <li>
            <a href="http://graysmatter.codivation.com/TheBiggestAnnouncementInDevTeach2007History.aspx">DevTeach
2007</a>
          </li>
          <li>
            <a href="http://www.edmug.net/ContactUs/tabid/141/Default.aspx">Vice President of
the Edmonton .NET User Group</a>
          </li>
          <li>
            <a href="http://blogs.msdn.com/cdndevs/archive/2007/07/24/my-chat-with-justice-gray-be-a-better-developer-in-six-months.aspx">Featured
on Canadian Developers</a>
          </li>
          <li>
And countless comedic yet informative posts on growth, software development and giving
back to the community. 
</li>
        </ul>
        <p>
I think it's time! Don't you?
</p>
        <img width="0" height="0" src="http://mokhan.ca/blog/aggbug.ashx?id=39f4031f-87ca-4e89-9b14-0cc4969ffb02" />
      </body>
      <title>Justice Gray For MVP</title>
      <guid isPermaLink="false">http://mokhan.ca/blog/PermaLink,guid,39f4031f-87ca-4e89-9b14-0cc4969ffb02.aspx</guid>
      <link>http://mokhan.ca/blog/2008/01/08/Justice+Gray+For+MVP.aspx</link>
      <pubDate>Tue, 08 Jan 2008 05:20:46 GMT</pubDate>
      <description>&lt;p&gt;
I nominate &lt;a href="http://graysmatter.codivation.com/"&gt;Justice Gray&lt;/a&gt; for the &lt;a href="http://mvp.support.microsoft.com/gp/mvpawardintro"&gt;Microsoft
MVP Award&lt;/a&gt;.
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href="http://graysmatter.codivation.com/TheBiggestAnnouncementInDevTeach2007History.aspx"&gt;DevTeach
2007&lt;/a&gt; 
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://www.edmug.net/ContactUs/tabid/141/Default.aspx"&gt;Vice President of
the Edmonton .NET User Group&lt;/a&gt; 
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://blogs.msdn.com/cdndevs/archive/2007/07/24/my-chat-with-justice-gray-be-a-better-developer-in-six-months.aspx"&gt;Featured
on Canadian Developers&lt;/a&gt; 
&lt;/li&gt;
&lt;li&gt;
And countless comedic yet informative posts on growth, software development and giving
back to the community. 
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
I think it's time! Don't you?
&lt;/p&gt;
&lt;img width="0" height="0" src="http://mokhan.ca/blog/aggbug.ashx?id=39f4031f-87ca-4e89-9b14-0cc4969ffb02" /&gt;</description>
      <category>.NET User Group</category>
    </item>
    <item>
      <trackback:ping>http://mokhan.ca/blog/Trackback.aspx?guid=986988e9-b94e-4740-8784-07debe9a3a9b</trackback:ping>
      <pingback:server>http://mokhan.ca/blog/pingback.aspx</pingback:server>
      <pingback:target>http://mokhan.ca/blog/PermaLink,guid,986988e9-b94e-4740-8784-07debe9a3a9b.aspx</pingback:target>
      <dc:creator>Mr mO!</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <table style="width:194px;">
          <tr>
            <td align="center" style="height:194px;background:url(http://picasaweb.google.com/f/img/transparent_album_background.gif) no-repeat left">
              <a href="http://picasaweb.google.co.uk/mo.khan/NothinButNetBootCamp">
                <img src="http://lh6.google.co.uk/mo.khan/RzjqRUX9JiE/AAAAAAAABB8/-PTbdcW6KsU/s160-c/NothinButNetBootCamp.jpg" width="160" height="160" style="margin:1px 0 0 4px;" />
              </a>
            </td>
          </tr>
          <tr>
            <td style="text-align:center;font-family:arial,sans-serif;font-size:11px">
              <a href="http://picasaweb.google.co.uk/mo.khan/NothinButNetBootCamp" style="color:#4D4D4D;font-weight:bold;text-decoration:none;">Nothin
But .Net Boot Camp</a>
            </td>
          </tr>
        </table>
        <p>
 
</p>
        <p>
Along with the collection of photos, (Thank you Mr. Clement), I suggest you check
out Sean and Adams' notes on the week long boot camp. Follow the links below:
</p>
        <p>
Adam: 
</p>
        <ul>
          <li>
            <a href="http://blog.streamlinelogic.ca/2007/11/my-nothing-but-net-experience.html">My
Nothing But .NET Experience</a>
          </li>
        </ul>
        <p>
Sean: 
</p>
        <ul>
          <li>
            <a href="http://weblogs.asp.net/sfeldman/archive/2007/11/06/nothing-but-net-calgary-2007-day-1.aspx">Nothing
But .NET, Calgary 2007 - Day 1</a>
          </li>
          <li>
            <a href="http://weblogs.asp.net/sfeldman/archive/2007/11/07/nothing-but-net-calgary-2007-day-2.aspx">Nothing
But .NET, Calgary 2007 - Day 2</a>
          </li>
          <li>
            <a href="http://weblogs.asp.net/sfeldman/archive/2007/11/08/nothing-but-net-calgary-2007-day-3.aspx">Nothing
But .NET, Calgary 2007 - Day 3</a>
          </li>
          <li>
            <a href="http://weblogs.asp.net/sfeldman/archive/2007/11/09/nothing-but-net-calgary-2007-day-4.aspx">Nothing
But .NET, Calgary 2007 - Day 4</a>
          </li>
          <li>
            <a href="http://weblogs.asp.net/sfeldman/archive/2007/11/10/nothing-but-net-calgary-2007-day-5.aspx">Nothing
But .NET, Calgary 2007 - Day 5</a>
          </li>
        </ul>
        <p>
To find out more about the intense week long boot camp check out <a href="http://www.jpboodhoo.com/blog/NothinButNetHelpTheHomelessCalgaryAlbertaNovember5th9th.aspx">JP's
site.</a></p>
        <img width="0" height="0" src="http://mokhan.ca/blog/aggbug.ashx?id=986988e9-b94e-4740-8784-07debe9a3a9b" />
      </body>
      <title>Photo's From The Nothin But .NET Boot Camp</title>
      <guid isPermaLink="false">http://mokhan.ca/blog/PermaLink,guid,986988e9-b94e-4740-8784-07debe9a3a9b.aspx</guid>
      <link>http://mokhan.ca/blog/2007/11/13/Photos+From+The+Nothin+But+NET+Boot+Camp.aspx</link>
      <pubDate>Tue, 13 Nov 2007 04:39:33 GMT</pubDate>
      <description>&lt;table style="width:194px;"&gt;
&lt;tr&gt;
&lt;td align="center" style="height:194px;background:url(http://picasaweb.google.com/f/img/transparent_album_background.gif) no-repeat left"&gt;
&lt;a href="http://picasaweb.google.co.uk/mo.khan/NothinButNetBootCamp"&gt;&lt;img src="http://lh6.google.co.uk/mo.khan/RzjqRUX9JiE/AAAAAAAABB8/-PTbdcW6KsU/s160-c/NothinButNetBootCamp.jpg" width="160" height="160" style="margin:1px 0 0 4px;"&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align:center;font-family:arial,sans-serif;font-size:11px"&gt;
&lt;a href="http://picasaweb.google.co.uk/mo.khan/NothinButNetBootCamp" style="color:#4D4D4D;font-weight:bold;text-decoration:none;"&gt;Nothin
But .Net Boot Camp&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
Along with the collection of photos, (Thank you Mr. Clement), I suggest you check
out Sean and Adams' notes on the week long boot camp. Follow the links below:
&lt;/p&gt;
&lt;p&gt;
Adam: 
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href="http://blog.streamlinelogic.ca/2007/11/my-nothing-but-net-experience.html"&gt;My
Nothing But .NET Experience&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Sean: 
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href="http://weblogs.asp.net/sfeldman/archive/2007/11/06/nothing-but-net-calgary-2007-day-1.aspx"&gt;Nothing
But .NET, Calgary 2007 - Day 1&lt;/a&gt; 
&lt;li&gt;
&lt;a href="http://weblogs.asp.net/sfeldman/archive/2007/11/07/nothing-but-net-calgary-2007-day-2.aspx"&gt;Nothing
But .NET, Calgary 2007 - Day 2&lt;/a&gt; 
&lt;li&gt;
&lt;a href="http://weblogs.asp.net/sfeldman/archive/2007/11/08/nothing-but-net-calgary-2007-day-3.aspx"&gt;Nothing
But .NET, Calgary 2007 - Day 3&lt;/a&gt; 
&lt;li&gt;
&lt;a href="http://weblogs.asp.net/sfeldman/archive/2007/11/09/nothing-but-net-calgary-2007-day-4.aspx"&gt;Nothing
But .NET, Calgary 2007 - Day 4&lt;/a&gt; 
&lt;li&gt;
&lt;a href="http://weblogs.asp.net/sfeldman/archive/2007/11/10/nothing-but-net-calgary-2007-day-5.aspx"&gt;Nothing
But .NET, Calgary 2007 - Day 5&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
To find out more about the intense&amp;nbsp;week long boot camp check out &lt;a href="http://www.jpboodhoo.com/blog/NothinButNetHelpTheHomelessCalgaryAlbertaNovember5th9th.aspx"&gt;JP's
site.&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://mokhan.ca/blog/aggbug.ashx?id=986988e9-b94e-4740-8784-07debe9a3a9b" /&gt;</description>
      <category>.NET User Group</category>
      <category>Journal</category>
    </item>
    <item>
      <trackback:ping>http://mokhan.ca/blog/Trackback.aspx?guid=7f7784ce-cb76-4060-8047-12d799d1b520</trackback:ping>
      <pingback:server>http://mokhan.ca/blog/pingback.aspx</pingback:server>
      <pingback:target>http://mokhan.ca/blog/PermaLink,guid,7f7784ce-cb76-4060-8047-12d799d1b520.aspx</pingback:target>
      <dc:creator>Mr mO!</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
This post is a little over due, but it's been on my mind. I realize these days that
I'm spending more time trying to think of good posts rather then just writing out
posts. I'm not sure which style I favor. I find it actually helpful to flush out ideas
from my head on a daily basis so that I can clear my mind and move on. 
</p>
        <p>
To the point... last weekend at the Edmonton Code Camp was awesome! I'm not sure how
else to describe it... Up in Edmonton I got the sense that the members of the Edmonton
.NET User Group truly understand the concept of "community". It truly felt like a
"community." I met so many passionate software dev's that really cared about
helping the community grow and get better. It seemed like everyone had the same goal
and was working towards that. 
</p>
        <p>
I had the great privilege of meeting <a href="http://graysmatter.codivation.com/">Mr.
Justice Gray</a> in person, who not only bought me lunch but introduced me to several
of his peers. He gave me some very helpful advice to guide me in my career. The
great knowledge learned from his shared experience is invaluable. Thank you for making
me feel at home Mr. Justice!
</p>
        <p>
Earlier in the week I had been spiking how to automate a click once deployment using
NAnt and came across <a href="http://becomingagile.blogspot.com/2006/07/click-once-deployment-using-nant.html">this
post by Mr. Neil Bourgeois</a>. Coincidentally <a href="http://becomingagile.blogspot.com/">Mr.
Neil</a> just so happened to be at the Edmonton Code Camp, and also gave a presentation.
I was taken back by how kind and humble he acted. When I found out he was
an ex-thought worker, I was immediately froze up in fear. Why? I don't know... He
was just very genuinely caring and seemed to want to help further if he could. I surely
hope that I can be as humble as he, when I'm that talented!
</p>
        <p>
          <a href="http://anandnarayan.blogspot.com/">Mr. Anand</a>, was very quiet much like
myself. He seemed very thoughtful and it was interesting to see the relationship between
him and Justice. They seem to genuinely care about each others as peers. I sure hope
to get to know you better in the future good sir!
</p>
        <p>
It was kind of cool when I bumped in to <a href="http://stevenrockarts.com/blog/">Steven
Rockarts</a> and he knew my name. Kind of weird, but I imagine he must feel the same
way. It's great how you can get a feel for people by reading their writing, and blogging
tends to make it much easier to connect with people. 
</p>
        <p>
I feel like I'm name dropping here a bit, so I will wrap this up. I really enjoyed
my day at the Edmonton Code Camp, I found the presentations very informative and found
the hallway chats even more amusing. It's great to see that a .NET community can come
together the way the Edmug one has. Hopefully as a group we can start to shift the
way that software is built here in Alberta. 
</p>
        <img width="0" height="0" src="http://mokhan.ca/blog/aggbug.ashx?id=7f7784ce-cb76-4060-8047-12d799d1b520" />
      </body>
      <title>A Moment To Reflect</title>
      <guid isPermaLink="false">http://mokhan.ca/blog/PermaLink,guid,7f7784ce-cb76-4060-8047-12d799d1b520.aspx</guid>
      <link>http://mokhan.ca/blog/2007/10/25/A+Moment+To+Reflect.aspx</link>
      <pubDate>Thu, 25 Oct 2007 13:25:14 GMT</pubDate>
      <description>&lt;p&gt;
This post is a little over due, but it's been on my mind. I realize these days that
I'm spending more time trying to think of good posts rather then just writing out
posts. I'm not sure which style I favor. I find it actually helpful to flush out ideas
from my head on a daily basis so that I can clear my mind and move on. 
&lt;/p&gt;
&lt;p&gt;
To the point... last weekend at the Edmonton Code Camp was awesome! I'm not sure how
else to describe it... Up in Edmonton I got the sense that the members of the Edmonton
.NET User Group truly understand the concept of "community". It truly felt like a
"community." I met&amp;nbsp;so many&amp;nbsp;passionate software dev's that really cared about
helping the community grow and get better. It seemed like everyone had the same goal
and was working towards that. 
&lt;/p&gt;
&lt;p&gt;
I had the great privilege of meeting &lt;a href="http://graysmatter.codivation.com/"&gt;Mr.
Justice Gray&lt;/a&gt; in person, who not only bought me lunch but introduced me to several
of his peers.&amp;nbsp;He gave me some very helpful advice to guide me in my career. The
great knowledge learned from his shared experience is invaluable. Thank you for making
me feel at home Mr. Justice!
&lt;/p&gt;
&lt;p&gt;
Earlier in the week I had been spiking how to automate a click once deployment using
NAnt and came across &lt;a href="http://becomingagile.blogspot.com/2006/07/click-once-deployment-using-nant.html"&gt;this
post by Mr. Neil Bourgeois&lt;/a&gt;. Coincidentally &lt;a href="http://becomingagile.blogspot.com/"&gt;Mr.
Neil&lt;/a&gt; just so happened to be at the Edmonton Code Camp, and also gave a presentation.
I was taken back by how kind and humble he acted.&amp;nbsp;When I&amp;nbsp;found out he was
an ex-thought worker, I was immediately froze up in fear. Why? I don't know... He
was just very genuinely caring and seemed to want to help further if he could. I surely
hope that I can be as humble as he, when I'm that talented!
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://anandnarayan.blogspot.com/"&gt;Mr. Anand&lt;/a&gt;, was very quiet much like
myself. He seemed very thoughtful and it was interesting to see the relationship between
him and Justice. They seem to genuinely care about each others as peers. I sure hope
to get to know you better in the future good sir!
&lt;/p&gt;
&lt;p&gt;
It was kind of cool when I bumped in to &lt;a href="http://stevenrockarts.com/blog/"&gt;Steven
Rockarts&lt;/a&gt; and he knew my name. Kind of weird, but I imagine he must feel the same
way. It's great how you can get a feel for people by reading their writing, and blogging
tends to make it much easier to connect with people. 
&lt;/p&gt;
&lt;p&gt;
I feel like I'm name dropping here a bit, so I will wrap this up. I really enjoyed
my day at the Edmonton Code Camp, I found the presentations very informative and found
the hallway chats even more amusing. It's great to see that a .NET community can come
together the way the Edmug one has. Hopefully as a group we can start to shift the
way that software is built here in Alberta. 
&lt;/p&gt;
&lt;img width="0" height="0" src="http://mokhan.ca/blog/aggbug.ashx?id=7f7784ce-cb76-4060-8047-12d799d1b520" /&gt;</description>
      <category>.NET User Group</category>
      <category>Journal</category>
    </item>
    <item>
      <trackback:ping>http://mokhan.ca/blog/Trackback.aspx?guid=bbdc9838-052a-47cd-9f09-fd1a94614726</trackback:ping>
      <pingback:server>http://mokhan.ca/blog/pingback.aspx</pingback:server>
      <pingback:target>http://mokhan.ca/blog/PermaLink,guid,bbdc9838-052a-47cd-9f09-fd1a94614726.aspx</pingback:target>
      <dc:creator>Mr mO!</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Mr. <a href="http://weblogs.asp.net/bsimser/archive/2007/09/29/speaking-at-the-alberta-architect-forum-monday.aspx">Bill
Simser</a> just posted about the <a href="https://msevents.microsoft.com/cui/EventDetail.aspx?EventID=1032351325&amp;culture=en-US&amp;flag=1">"Alberta
Architect Forum"</a> on Monday, October. 01, 2007.
</p>
        <p>
It sounds like fun, some of the speakers are:
</p>
        <ul>
          <li>
            <a href="http://mikemason.ca/">Mr. Mike Mason</a>, Senior Developer at <a href="http://www.thoughtworks.ca/who-we-are/our-people/profiles/Mason,+Mike.html">ThoughtWorks</a></li>
          <li>
            <a href="http://weblogs.asp.net/bsimser/">Mr. Bill Simser</a>, Microsoft Guru... Developer... Guy.. 
</li>
          <li>
            <a href="http://jameskovacs.com/blog/">Mr. James Kovacs</a>... or as I like to call
him .. Mr. Harvard! 
</li>
          <li>
Mr. Dave Remmer... I think he's another Microsoft guy, but I'm not sure.</li>
        </ul>
        <p>
It's to bad that it's full, and I didn't find out until now, otherwise I might have
begged my manager to let me go!
</p>
        <img width="0" height="0" src="http://mokhan.ca/blog/aggbug.ashx?id=bbdc9838-052a-47cd-9f09-fd1a94614726" />
      </body>
      <title>Alberta Architect Forum</title>
      <guid isPermaLink="false">http://mokhan.ca/blog/PermaLink,guid,bbdc9838-052a-47cd-9f09-fd1a94614726.aspx</guid>
      <link>http://mokhan.ca/blog/2007/09/29/Alberta+Architect+Forum.aspx</link>
      <pubDate>Sat, 29 Sep 2007 14:18:41 GMT</pubDate>
      <description>&lt;p&gt;
Mr. &lt;a href="http://weblogs.asp.net/bsimser/archive/2007/09/29/speaking-at-the-alberta-architect-forum-monday.aspx"&gt;Bill
Simser&lt;/a&gt; just posted about the &lt;a href="https://msevents.microsoft.com/cui/EventDetail.aspx?EventID=1032351325&amp;amp;culture=en-US&amp;amp;flag=1"&gt;"Alberta
Architect Forum"&lt;/a&gt; on Monday, October. 01, 2007.
&lt;/p&gt;
&lt;p&gt;
It sounds like fun, some of the speakers are:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href="http://mikemason.ca/"&gt;Mr. Mike Mason&lt;/a&gt;, Senior Developer at &lt;a href="http://www.thoughtworks.ca/who-we-are/our-people/profiles/Mason,+Mike.html"&gt;ThoughtWorks&lt;/a&gt; 
&lt;li&gt;
&lt;a href="http://weblogs.asp.net/bsimser/"&gt;Mr. Bill Simser&lt;/a&gt;, Microsoft Guru... Developer...&amp;nbsp;Guy.. 
&lt;li&gt;
&lt;a href="http://jameskovacs.com/blog/"&gt;Mr. James Kovacs&lt;/a&gt;... or as I like to call
him .. Mr. Harvard! 
&lt;li&gt;
Mr. Dave Remmer... I think he's another Microsoft guy, but I'm not sure.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
It's to bad that it's full, and I didn't find out until now, otherwise I might have
begged my manager to let me go!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://mokhan.ca/blog/aggbug.ashx?id=bbdc9838-052a-47cd-9f09-fd1a94614726" /&gt;</description>
      <category>.NET User Group</category>
    </item>
    <item>
      <trackback:ping>http://mokhan.ca/blog/Trackback.aspx?guid=3a46e143-8247-4525-9c31-84577d6e2592</trackback:ping>
      <pingback:server>http://mokhan.ca/blog/pingback.aspx</pingback:server>
      <pingback:target>http://mokhan.ca/blog/PermaLink,guid,3a46e143-8247-4525-9c31-84577d6e2592.aspx</pingback:target>
      <dc:creator>Mr mO!</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Just a quick reminder but tonight is John Bristowe's presentation on "Bringing the
Power of the .NET Framework to your existing application".
</p>
        <blockquote>
          <p>
Bringing the Power of the .NET Framework to your existing application.
</p>
          <p>
Thursday, September 27, 2007
</p>
          <p>
5:30pm - 7:30pm
</p>
          <p>
Nexen Conference Center Theatre
</p>
          <p>
Plus 15 Level
</p>
          <p>
801 - 7th Ave SW
</p>
          <p>
Calgary, AB
</p>
        </blockquote>
        <p>
This should be a great topic for all you VB6 nuts out there.
</p>
        <p>
          <a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?culture=en-US&amp;EventID=1032353126">For
more info</a>...
</p>
        <img width="0" height="0" src="http://mokhan.ca/blog/aggbug.ashx?id=3a46e143-8247-4525-9c31-84577d6e2592" />
      </body>
      <title>Bringing the Power of the .NET Framework to Your Existing Application</title>
      <guid isPermaLink="false">http://mokhan.ca/blog/PermaLink,guid,3a46e143-8247-4525-9c31-84577d6e2592.aspx</guid>
      <link>http://mokhan.ca/blog/2007/09/27/Bringing+The+Power+Of+The+NET+Framework+To+Your+Existing+Application.aspx</link>
      <pubDate>Thu, 27 Sep 2007 13:07:08 GMT</pubDate>
      <description>&lt;p&gt;
Just a quick reminder but tonight is John Bristowe's presentation on "Bringing the
Power of the .NET Framework to your existing application".
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;p&gt;
Bringing the Power of the .NET Framework to your existing application.
&lt;/p&gt;
&lt;p&gt;
Thursday, September 27, 2007
&lt;/p&gt;
&lt;p&gt;
5:30pm - 7:30pm
&lt;/p&gt;
&lt;p&gt;
Nexen Conference Center Theatre
&lt;/p&gt;
&lt;p&gt;
Plus 15 Level
&lt;/p&gt;
&lt;p&gt;
801 - 7th Ave SW
&lt;/p&gt;
&lt;p&gt;
Calgary, AB
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
This should be a great topic for all you VB6 nuts out there.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?culture=en-US&amp;amp;EventID=1032353126"&gt;For
more info&lt;/a&gt;...
&lt;/p&gt;
&lt;img width="0" height="0" src="http://mokhan.ca/blog/aggbug.ashx?id=3a46e143-8247-4525-9c31-84577d6e2592" /&gt;</description>
      <category>.NET User Group</category>
    </item>
    <item>
      <trackback:ping>http://mokhan.ca/blog/Trackback.aspx?guid=2eb0fc92-b2c8-437a-8b07-5068016279d4</trackback:ping>
      <pingback:server>http://mokhan.ca/blog/pingback.aspx</pingback:server>
      <pingback:target>http://mokhan.ca/blog/PermaLink,guid,2eb0fc92-b2c8-437a-8b07-5068016279d4.aspx</pingback:target>
      <dc:creator>Mr mO!</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
So it's been a pretty laid back weekend at our house. So far Alli and I have watched
quite a few movies, a few more then I really care to admit. It's definitely been worth
it though, the calculated down time was just what I needed.
</p>
        <p>
On Friday, I put in my first couple of hours volunteering at the Calgary .NET User
Group. At the last presentation I offered to volunteer for the upcoming Alberta Tech
Fest and I received an email from Daniel about meeting at 5:00pm Friday evening. So
I made my way to the EUB and met the Calgary .NET User Group Executive committee.
Apparently, there's been quite a bit of turnover lately and it's been difficult finding
volunteers. I was one of 5 people that evening who offered to volunteer, but was the
only one to show up for the meeting. I can't say that I blame any of the others, we
only received an email the morning of the meeting and it was at 5:00pm on a Friday
evening before the start of the long weekend.
</p>
        <p>
So a few things were covered in the 2 hour meeting, A few dates were changed for upcoming
events but here's what I learned:
</p>
        <ul>
          <li>
Real Development Tour: October. 23, 2007</li>
          <li>
            <a href="http://edmontoncodecamp.com/">Edmonton Code Camp: October. 20, 2007</a>
          </li>
          <li>
            <a href="http://www.dasblonde.net/">Michele Leroux "Das Blonde" Bustamante: October.
30, 2007</a>
          </li>
          <li>
Alberta Tech Fest: moved to November. 17, 2007</li>
        </ul>
        <p>
It looks like October should be a busy month!
</p>
        <img width="0" height="0" src="http://mokhan.ca/blog/aggbug.ashx?id=2eb0fc92-b2c8-437a-8b07-5068016279d4" />
      </body>
      <title>Volunteering at the Calgary .NET User Group</title>
      <guid isPermaLink="false">http://mokhan.ca/blog/PermaLink,guid,2eb0fc92-b2c8-437a-8b07-5068016279d4.aspx</guid>
      <link>http://mokhan.ca/blog/2007/09/03/Volunteering+At+The+Calgary+NET+User+Group.aspx</link>
      <pubDate>Mon, 03 Sep 2007 20:06:18 GMT</pubDate>
      <description>&lt;p&gt;
So it's been a pretty laid back weekend at our house. So far Alli and I have watched
quite a few movies, a few more then I really care to admit. It's definitely been worth
it though, the calculated down time was just what I needed.
&lt;/p&gt;
&lt;p&gt;
On Friday, I put in my first couple of hours volunteering at the Calgary .NET User
Group. At the last presentation I offered to volunteer for the upcoming Alberta Tech
Fest and I received an email from Daniel about meeting at 5:00pm Friday evening. So
I made my way to the EUB and met the Calgary .NET User Group Executive committee.
Apparently, there's been quite a bit of turnover lately and it's been difficult finding
volunteers. I was one of 5 people that evening who offered to volunteer, but was the
only one to show up for the meeting. I can't say that I blame any of the others, we
only received an email the morning of the meeting and it was at 5:00pm on&amp;nbsp;a Friday
evening before the start of the long weekend.
&lt;/p&gt;
&lt;p&gt;
So a few things were covered in the 2 hour meeting, A few dates were changed for upcoming
events but here's what I learned:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
Real Development Tour: October. 23, 2007&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://edmontoncodecamp.com/"&gt;Edmonton Code Camp: October. 20, 2007&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://www.dasblonde.net/"&gt;Michele Leroux "Das Blonde" Bustamante: October.
30, 2007&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
Alberta Tech Fest: moved to November. 17, 2007&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
It looks like October should be a busy month!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://mokhan.ca/blog/aggbug.ashx?id=2eb0fc92-b2c8-437a-8b07-5068016279d4" /&gt;</description>
      <category>.NET User Group</category>
      <category>Journal</category>
    </item>
    <item>
      <trackback:ping>http://mokhan.ca/blog/Trackback.aspx?guid=fe71321f-2c9d-4bc2-b0ef-24ba6549dfb2</trackback:ping>
      <pingback:server>http://mokhan.ca/blog/pingback.aspx</pingback:server>
      <pingback:target>http://mokhan.ca/blog/PermaLink,guid,fe71321f-2c9d-4bc2-b0ef-24ba6549dfb2.aspx</pingback:target>
      <dc:creator>Mr mO!</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Good morning! Last nights presentation on Silverlight at the Calgary .NET User Group
was pretty darn good. There are still quite a few things that need to get worked out
in the beta for Visual Studio 2008, but it was cool to see it in use. The experience
in it doesn't seem all that different then Visual Studio 2005 except that you can
target different versions of the .NET Framework. You can create Silverlight projects
and some other goodness.
</p>
        <p>
I realized last night that I had made a bit of a mistake, when filling out the evaluation
I marked 5's for most of the items assuming that 5 was a good thing. Just before handing
in my evaluation I re-read it to see that...
</p>
        <blockquote>
          <p>
1 = Strongly Agree 5 = Strongly Disagree
</p>
        </blockquote>
        <p>
Ahhh.... Who made 5 Strongly Agree? I think I've been giving presenters really bad
marks without even knowing it. I must come across as a jerk! So to all the presenters
who received a bad mark from me at one of the Calgary .NET user group meetings,
my bad! The marks are backwards!
</p>
        <p>
Oh boy... that means this year I probably accidentally gave bad marks too James Kovacs,
Richard Cambell, John Bristowe and a bunch of presenters at the Calgary code camp.
Sorry guys, but honestly... who makes 5 a bad mark and 1 a good mark. Doesn't it make
more sense to have it the other way around?
</p>
        <p>
Last night Daniel also announced that on September 29th, 2007 we will be having the
Alberta Tech Fest 2007 which will be a day of presentations for developers, architects
and IT pro. Sounds interesting hopefully it happens...
</p>
        <hints id="hah_hints">
        </hints>
        <img width="0" height="0" src="http://mokhan.ca/blog/aggbug.ashx?id=fe71321f-2c9d-4bc2-b0ef-24ba6549dfb2" />
      </body>
      <title>Calgary .NET User Group Silverlight Presentation</title>
      <guid isPermaLink="false">http://mokhan.ca/blog/PermaLink,guid,fe71321f-2c9d-4bc2-b0ef-24ba6549dfb2.aspx</guid>
      <link>http://mokhan.ca/blog/2007/08/30/Calgary+NET+User+Group+Silverlight+Presentation.aspx</link>
      <pubDate>Thu, 30 Aug 2007 12:41:01 GMT</pubDate>
      <description>&lt;p&gt;
Good morning! Last nights presentation on Silverlight at the Calgary .NET User Group
was pretty darn good. There are still quite a few things that need to get worked out
in the beta for Visual Studio 2008, but it was cool to see it in use. The experience
in it doesn't seem all that different then Visual Studio 2005 except that you can
target different versions of the .NET Framework. You can create Silverlight projects
and some other goodness.
&lt;/p&gt;
&lt;p&gt;
I realized last night that I had made a bit of a mistake, when filling out the evaluation
I marked 5's for most of the items assuming that 5 was a good thing. Just before handing
in my evaluation I re-read it to see that...
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;p&gt;
1 = Strongly Agree 5 = Strongly Disagree
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
Ahhh.... Who made 5 Strongly Agree? I think I've been giving presenters really bad
marks without even knowing it. I must come across as a jerk! So to all the presenters
who received a bad mark from me at one of the Calgary&amp;nbsp;.NET user group meetings,
my bad! The marks are backwards!
&lt;/p&gt;
&lt;p&gt;
Oh boy... that means this year I probably accidentally gave bad marks too James Kovacs,
Richard Cambell, John Bristowe and a bunch of presenters at the Calgary code camp.
Sorry guys, but honestly... who makes 5 a bad mark and 1 a good mark. Doesn't it make
more sense to have it the other way around?
&lt;/p&gt;
&lt;p&gt;
Last night Daniel also announced that on September 29th, 2007 we will be having the
Alberta Tech Fest 2007 which will be a day of presentations for developers, architects
and IT pro. Sounds interesting hopefully it happens...
&lt;/p&gt;
&lt;hints id="hah_hints"&gt;
&lt;/hints&gt;
&lt;img width="0" height="0" src="http://mokhan.ca/blog/aggbug.ashx?id=fe71321f-2c9d-4bc2-b0ef-24ba6549dfb2" /&gt;</description>
      <category>Journal</category>
      <category>.NET User Group</category>
    </item>
    <item>
      <trackback:ping>http://mokhan.ca/blog/Trackback.aspx?guid=cc055309-4905-4fa1-b526-9ec94cbfa8a8</trackback:ping>
      <pingback:server>http://mokhan.ca/blog/pingback.aspx</pingback:server>
      <pingback:target>http://mokhan.ca/blog/PermaLink,guid,cc055309-4905-4fa1-b526-9ec94cbfa8a8.aspx</pingback:target>
      <dc:creator>Mr mO!</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Good Morning! It has now been a week since my last course has ended and I think life
is just starting to go back to normal (whatever that means!) I've been working full
time and going to school part time from January till now. And although I've had days
where I felt sluggish, none have been like that last few. I don't know why it is,
but it wasn't until after school end did it hit me how fast this year has gone by.
Anyway's I have one more course to go, but that doesn't start until October.
</p>
        <p>
Tonight I'm off to go check out John Bristowe's presentation on Microsoft Silverlight
at the Calgary .NET User Group. The presentation will be an introduction to Silverlight
and a demonstration on building an ASP.NET application using Silverlight. Should be
interesting, if you're interested go check out the Calgary .NET User Group. Or just
show up at...
</p>
        <blockquote>
          <p>
Wednesday, August. 29, 2007 
</p>
          <p>
5:00pm - 8:00pm
</p>
          <p>
Nexen Conference Center Theatre
</p>
          <p>
801 7th Ave SW
</p>
          <p>
Calgary, AB, Canada
</p>
        </blockquote>
        <p>
That's all for today. GET BACK TO WORK!
</p>
        <hints id="hah_hints">
        </hints>
        <img width="0" height="0" src="http://mokhan.ca/blog/aggbug.ashx?id=cc055309-4905-4fa1-b526-9ec94cbfa8a8" />
      </body>
      <title>Silverlight Presentation</title>
      <guid isPermaLink="false">http://mokhan.ca/blog/PermaLink,guid,cc055309-4905-4fa1-b526-9ec94cbfa8a8.aspx</guid>
      <link>http://mokhan.ca/blog/2007/08/29/Silverlight+Presentation.aspx</link>
      <pubDate>Wed, 29 Aug 2007 12:10:08 GMT</pubDate>
      <description>&lt;p&gt;
Good Morning! It has now been a week since my last course has ended and I think life
is just starting to go back to normal (whatever that means!) I've been working full
time and going to school part time from January till now. And although I've had days
where I felt sluggish, none have been like that last few. I don't know why it is,
but it wasn't until after school end did it hit me how fast this year has gone by.
Anyway's I have one more course to go, but that doesn't start until October.
&lt;/p&gt;
&lt;p&gt;
Tonight I'm off to go check out John Bristowe's presentation on Microsoft Silverlight
at the Calgary .NET User Group. The presentation will be an introduction to Silverlight
and a demonstration on building an ASP.NET application using Silverlight. Should be
interesting, if you're interested go check out the Calgary .NET User Group. Or just
show up at...
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;p&gt;
Wednesday, August. 29, 2007 
&lt;/p&gt;
&lt;p&gt;
5:00pm - 8:00pm
&lt;/p&gt;
&lt;p&gt;
Nexen Conference Center Theatre
&lt;/p&gt;
&lt;p&gt;
801 7th Ave SW
&lt;/p&gt;
&lt;p&gt;
Calgary, AB, Canada
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
That's all for today. GET BACK TO WORK!
&lt;/p&gt;
&lt;hints id="hah_hints"&gt;
&lt;/hints&gt;
&lt;img width="0" height="0" src="http://mokhan.ca/blog/aggbug.ashx?id=cc055309-4905-4fa1-b526-9ec94cbfa8a8" /&gt;</description>
      <category>.NET User Group</category>
      <category>Journal</category>
    </item>
    <item>
      <trackback:ping>http://mokhan.ca/blog/Trackback.aspx?guid=f0377867-76b4-4559-8bc5-c7d1112a01aa</trackback:ping>
      <pingback:server>http://mokhan.ca/blog/pingback.aspx</pingback:server>
      <pingback:target>http://mokhan.ca/blog/PermaLink,guid,f0377867-76b4-4559-8bc5-c7d1112a01aa.aspx</pingback:target>
      <dc:creator>Mr mO!</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">Good Morning! Well yesterday was a super <span class="blsp-spelling-error" id="SPELLING_ERROR_0">loooong</span> day
for myself! I walked out the door at 7am and walked back in at 10:31pm. Beat that!<br /><br />
After work i went and checked out John <span class="blsp-spelling-error" id="SPELLING_ERROR_1">Bristowe's</span> presentation
on Windows <span class="blsp-spelling-error" id="SPELLING_ERROR_2">Workflow</span> at
the .NET User Group. We even got an extra presentation on ASP.NET Futures, Visual
Studio 2008 , Dynamic data controls and a brief discussion on the <span class="blsp-spelling-error" id="SPELLING_ERROR_3">DLR</span>.
Pretty cool stuff!<br /><br />
So I learned that a completely different crowd rides my bus late at night. It was
weird... I walked to my regular stop and caught my regular bus at 9:30<span class="blsp-spelling-error" id="SPELLING_ERROR_4">ish</span> last
night. The first thing I noticed when i step on, was the <span class="blsp-spelling-corrected" id="SPELLING_ERROR_5">overwhelming</span> smell
of urine. Ugh... so i start looking down and at all the seats... where is it? I don't
want to step in it, or sit in it, where is it coming from. I never found it.<br /><br />
Also, it was battle of the bands on the bus. I was trying to read a book, but I just
couldn't. There were so many people with mp3 players all playing different types of
music, and each one trying to play their music louder then everyone else. Where was
I? Where did you guys come from? How come I never see you guys during the day? ... <span class="blsp-spelling-error" id="SPELLING_ERROR_6">ahh</span>... <span class="blsp-spelling-error" id="SPELLING_ERROR_7">livin</span>'
in the suburban ghetto!<br /><br />
Have a good weekend!<hints id="hah_hints"></hints><img width="0" height="0" src="http://mokhan.ca/blog/aggbug.ashx?id=f0377867-76b4-4559-8bc5-c7d1112a01aa" /></body>
      <title>The Suburban Ghetto Cowboy</title>
      <guid isPermaLink="false">http://mokhan.ca/blog/PermaLink,guid,f0377867-76b4-4559-8bc5-c7d1112a01aa.aspx</guid>
      <link>http://mokhan.ca/blog/2007/06/08/The+Suburban+Ghetto+Cowboy.aspx</link>
      <pubDate>Fri, 08 Jun 2007 14:24:00 GMT</pubDate>
      <description>Good Morning! Well yesterday was a super &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;loooong&lt;/span&gt; day
for myself! I walked out the door at 7am and walked back in at 10:31pm. Beat that!&lt;br&gt;
&lt;br&gt;
After work i went and checked out John &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;Bristowe's&lt;/span&gt; presentation
on Windows &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;Workflow&lt;/span&gt; at
the .NET User Group. We even got an extra presentation on ASP.NET Futures, Visual
Studio 2008 , Dynamic data controls and a brief discussion on the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;DLR&lt;/span&gt;.
Pretty cool stuff!&lt;br&gt;
&lt;br&gt;
So I learned that a completely different crowd rides my bus late at night. It was
weird... I walked to my regular stop and caught my regular bus at 9:30&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;ish&lt;/span&gt; last
night. The first thing I noticed when i step on, was the &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_5"&gt;overwhelming&lt;/span&gt; smell
of urine. Ugh... so i start looking down and at all the seats... where is it? I don't
want to step in it, or sit in it, where is it coming from. I never found it.&lt;br&gt;
&lt;br&gt;
Also, it was battle of the bands on the bus. I was trying to read a book, but I just
couldn't. There were so many people with mp3 players all playing different types of
music, and each one trying to play their music louder then everyone else. Where was
I? Where did you guys come from? How come I never see you guys during the day? ... &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;ahh&lt;/span&gt;... &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;livin&lt;/span&gt;'
in the suburban ghetto!&lt;br&gt;
&lt;br&gt;
Have a good weekend!&lt;hints id="hah_hints"&gt;
&lt;/hints&gt;
&lt;img width="0" height="0" src="http://mokhan.ca/blog/aggbug.ashx?id=f0377867-76b4-4559-8bc5-c7d1112a01aa" /&gt;</description>
      <category>.NET User Group</category>
      <category>Journal</category>
    </item>
    <item>
      <trackback:ping>http://mokhan.ca/blog/Trackback.aspx?guid=E2CAA5FD0245D158!1504</trackback:ping>
      <pingback:server>http://mokhan.ca/blog/pingback.aspx</pingback:server>
      <pingback:target>http://mokhan.ca/blog/PermaLink,guid,E2CAA5FD0245D158!1504.aspx</pingback:target>
      <dc:creator>Mr mO!</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <div>
          <img alt="Confused guy" src="http://www.ala.org/Images/ALOnline/computer%20guy.jpg" align="left" height="181" width="181" />
        </div>
        <p style="">
          <span style="">
            <font size="3">
              <font color="#000000">
                <font face="Times New Roman">Well
well well… one more day to go. Ok so last night after work I went home for about 15
mins then I left to go to the .net user group meeting at the UofC. When I got there
the pizza 73 guy was just leaving. They ordered 10 pizzas. Mmmm… pizza. So I munched
and waited for my other co-workers to show up. </font>
              </font>
            </font>
          </span>
        </p>
        <p style="">
          <span style="">
            <font size="3">
              <font color="#000000">
                <font face="Times New Roman">
                </font>
              </font>
            </font>
          </span> 
</p>
        <p style="">
          <span style="">
            <font size="3">
              <font color="#000000">
                <font face="Times New Roman">The
presenter was John Bristoe a Microsoft Regional Director. And the topic was web services.
The first 2 hours were on 10 tips on using web services and the 2<sup>nd</sup> 2 hours
were on changes to web services in visual studio 2005. </font>
              </font>
            </font>
          </span>
        </p>
        <p style="">
          <span style="">
            <font size="3">
              <font color="#000000">
                <font face="Times New Roman">
                </font>
              </font>
            </font>
          </span> 
</p>
        <p style="">
          <span style="">
            <font size="3">
              <font color="#000000">
                <font face="Times New Roman">whoa…
Mr. John sure knew his stuff, but I had no idea what he was talking about. He used
every acronym in the book, and I really had no idea what they stood for. I think the
highlight of the 4 hours was the pizza, oh and I got another Microsoft pen to add
to the collection. If I had some sort of experience working with web services then
I’m sure the presentation would have been helpful, but for my background, it was waaaaay
to deep for this guy. </font>
              </font>
            </font>
          </span>
        </p>
        <p style="">
          <span style="">
            <font size="3">
              <font color="#000000">
                <font face="Times New Roman">
                </font>
              </font>
            </font>
          </span> 
</p>
        <p style="">
          <span style="">
            <font size="3">
              <font color="#000000">
                <font face="Times New Roman">I’m
looking forward to the next presentation with Dan Sellers. I enjoyed his presentation
on master pages and I found him easier to follow. Power point slides really, really,
really bore me. However Mr. John was a little more animated in the way he presented
overall. He is a little hard to approach although, just because… well I guess it goes
back to the fear of asking a stupid question. The way he would almost be sarchastic
in his response to some of the questions. Like an underlying tone, “are you kidding
me? How you could you not know? What are you talking about? That’s what I said buddy!”</font>
              </font>
            </font>
          </span>
        </p>
        <p style="">
          <span style="">
            <font color="#000000" face="Times New Roman" size="3"> </font>
          </span>
        </p>
        <p style="">
          <span style="">
            <font size="3">
              <font color="#000000">
                <font face="Times New Roman">Anyways
I’ve probably critiqued the presentation enough, but that’s my point of view. Now
I just have one day to go and I’m on my way to a 4 day weekend… woo hooo… so have
a great weekend and I’ll see you on Tuesday!</font>
              </font>
            </font>
          </span>
        </p>
        <p style="">
          <span style="">
            <font size="3">
              <font color="#000000">
                <font face="Times New Roman">
                </font>
              </font>
            </font>
          </span> 
</p>
        <p style="">
          <span style="">
            <font size="3">
              <font color="#000000">
                <font face="Times New Roman">C'mon
GET TO WORK!</font>
              </font>
            </font>
          </span>
        </p>
        <hints id="hah_hints">
        </hints>
        <img width="0" height="0" src="http://mokhan.ca/blog/aggbug.ashx?id=E2CAA5FD0245D158!1504" />
      </body>
      <title>Bueller... Anyone? Anyone? Anyone?</title>
      <guid isPermaLink="false">http://mokhan.ca/blog/PermaLink,guid,E2CAA5FD0245D158!1504.aspx</guid>
      <link>http://mokhan.ca/blog/2005/07/28/Bueller+Anyone+Anyone+Anyone.aspx</link>
      <pubDate>Thu, 28 Jul 2005 12:47:21 GMT</pubDate>
      <description>&lt;div&gt;&lt;img alt="Confused guy" src="http://www.ala.org/Images/ALOnline/computer%20guy.jpg" align="left" height="181" width="181"&gt;
&lt;/div&gt;
&lt;p style=""&gt;
&lt;span style=""&gt;&lt;font size="3"&gt;&lt;font color="#000000"&gt;&lt;font face="Times New Roman"&gt;Well
well well… one more day to go. Ok so last night after work I went home for about 15
mins then I left to go to the .net user group meeting at the UofC. When I got there
the pizza 73 guy was just leaving. They ordered 10 pizzas. Mmmm… pizza. So I munched
and waited for my other co-workers to show up. &lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p style=""&gt;
&lt;span style=""&gt;&lt;font size="3"&gt;&lt;font color="#000000"&gt;&lt;font face="Times New Roman"&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p style=""&gt;
&lt;span style=""&gt;&lt;font size="3"&gt;&lt;font color="#000000"&gt;&lt;font face="Times New Roman"&gt;The
presenter was John Bristoe a Microsoft Regional Director. And the topic was web services.
The first 2 hours were on 10 tips on using web services and the 2&lt;sup&gt;nd&lt;/sup&gt; 2 hours
were on changes to web services in visual studio 2005. &lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p style=""&gt;
&lt;span style=""&gt;&lt;font size="3"&gt;&lt;font color="#000000"&gt;&lt;font face="Times New Roman"&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p style=""&gt;
&lt;span style=""&gt;&lt;font size="3"&gt;&lt;font color="#000000"&gt;&lt;font face="Times New Roman"&gt;whoa…
Mr. John sure knew his stuff, but I had no idea what he was talking about. He used
every acronym in the book, and I really had no idea what they stood for. I think the
highlight of the 4 hours was the pizza, oh and I got another Microsoft pen to add
to the collection. If I had some sort of experience working with web services then
I’m sure the presentation would have been helpful, but for my background, it was waaaaay
to deep for this guy. &lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p style=""&gt;
&lt;span style=""&gt;&lt;font size="3"&gt;&lt;font color="#000000"&gt;&lt;font face="Times New Roman"&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p style=""&gt;
&lt;span style=""&gt;&lt;font size="3"&gt;&lt;font color="#000000"&gt;&lt;font face="Times New Roman"&gt;I’m
looking forward to the next presentation with Dan Sellers. I enjoyed his presentation
on master pages and I found him easier to follow. Power point slides really, really,
really bore me. However Mr. John was a little more animated in the way he presented
overall. He is a little hard to approach although, just because… well I guess it goes
back to the fear of asking a stupid question. The way he would almost be sarchastic
in his response to some of the questions. Like an underlying tone, “are you kidding
me? How you could you not know? What are you talking about? That’s what I said buddy!”&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p style=""&gt;
&lt;span style=""&gt;&lt;font color="#000000" face="Times New Roman" size="3"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p style=""&gt;
&lt;span style=""&gt;&lt;font size="3"&gt;&lt;font color="#000000"&gt;&lt;font face="Times New Roman"&gt;Anyways
I’ve probably critiqued the presentation enough, but that’s my point of view. Now
I just have one day to go and I’m on my way to a 4 day weekend… woo hooo… so have
a great weekend and I’ll see you on Tuesday!&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p style=""&gt;
&lt;span style=""&gt;&lt;font size="3"&gt;&lt;font color="#000000"&gt;&lt;font face="Times New Roman"&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p style=""&gt;
&lt;span style=""&gt;&lt;font size="3"&gt;&lt;font color="#000000"&gt;&lt;font face="Times New Roman"&gt;C'mon
GET TO WORK!&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;hints id="hah_hints"&gt;
&lt;/hints&gt;
&lt;img width="0" height="0" src="http://mokhan.ca/blog/aggbug.ashx?id=E2CAA5FD0245D158!1504" /&gt;</description>
      <category>.NET User Group</category>
      <category>Journal</category>
    </item>
    <item>
      <trackback:ping>http://mokhan.ca/blog/Trackback.aspx?guid=E2CAA5FD0245D158!1423</trackback:ping>
      <pingback:server>http://mokhan.ca/blog/pingback.aspx</pingback:server>
      <pingback:target>http://mokhan.ca/blog/PermaLink,guid,E2CAA5FD0245D158!1423.aspx</pingback:target>
      <dc:creator>Mr mO!</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <div>Good Morning... mO so tired~! ... so I was at work until about 5:30 pm last night,
it's an hour later then the time i usually leave. meh... no biggie. except the .net
user group meeting started at 6:15pm. Eeep... Needless to say I'm a weeee bit sluggish
this morning. The UG meeting was really good. I really enjoyed the presentation on
using Master Pages, Themes and Navigation. Suuuupeeerb, I can't wait to use all of
these items. Hopefully, I will find some free time tonight to give 'er a try. Thanks
Mr. Dan Sellers for the Presentation!
</div>
        <div> 
</div>
        <div>Well, it's looking like it's going to be a beautiful day. I find it interesting
just how empty the office is when I get in to work in the morning. I get to see who's
actually showing up on time, and who's leaving when they're supposed to be. I technically
don't start until 8am, but I usually make it in around 7:40ish... enough time for
me to post a single blog entry. It's interesting to see what time the 7:30 starters
actually get to work, then see them leave a half hour before me. I really need to
let loose and not be just a hardass. I'm sorry, a little anal retentive like that.
Time is a big part of my life. 
</div>
        <div> 
</div>
        <div>Anyways, I feel like I haven't had any personal time for a while now. I guess
this is what it feels like to be an 
</div>
        <div>'adult' hey? Although I'm 21, I feel like I havent really hit adulthood until
recently. Man, high school sure is looking much better these day. All that free time,
and I spent most of it doing a whole lot of nothing. Time well wasted in my opinion.
Geeebus, my thought's are all over the place today. 
</div>
        <div> 
</div>
        <div>You know, I've heard a little talk around the office about starting your own
business and risks in doing so. And how a lot prefer to work for someone else. Let
someone else take the risk. Hmmm... I honestly don't feel the same way. The other
day when I was talking to myself, *you heard me*, I said "I've never done anything
right in my life, without doing it wrong first." And I think that's kind of my personal
philosofphy, I'm not afraid to to take chances, I've made a lot of mistakes but, hey,
I've rebounded. I've learned to pick my sorry butt off the ground. What the hell am
I getting at here? I guess what I'm trying to say is... well.. I'm a terrible employee,
I'm opinionated, I think out of the box, and I want to be my own boss. But I realize
in order for me to become a good boss, even if my only employee is me, I have a lot
of skill to learn. And until then, I guess I'll be sitting here in my cubicle feeding
the corporate monster. I just hope he's hungry, because I've got a lot to learn!
</div>
        <div> 
</div>
        <div>Have a great day, and enjoy the long weekend~! (That goes for both sides of the
border)
</div>
        <div> 
</div>
        <div>Peace,
</div>
        <div> 
</div>
        <div>- Chili K.
</div>
        <hints id="hah_hints">
        </hints>
        <img width="0" height="0" src="http://mokhan.ca/blog/aggbug.ashx?id=E2CAA5FD0245D158!1423" />
      </body>
      <title>A whole lot of ranting, with very little substance.</title>
      <guid isPermaLink="false">http://mokhan.ca/blog/PermaLink,guid,E2CAA5FD0245D158!1423.aspx</guid>
      <link>http://mokhan.ca/blog/2005/06/30/A+Whole+Lot+Of+Ranting+With+Very+Little+Substance.aspx</link>
      <pubDate>Thu, 30 Jun 2005 12:51:21 GMT</pubDate>
      <description>&lt;div&gt;Good Morning... mO so tired~! ... so I was at work until about 5:30 pm last night,
it's an hour later then the time i usually leave. meh... no biggie. except the .net
user group meeting started at 6:15pm. Eeep... Needless to say I'm a weeee bit sluggish
this morning. The UG meeting was really good. I really enjoyed the presentation on
using Master Pages, Themes and Navigation. Suuuupeeerb, I can't wait to use all of
these items. Hopefully, I will find some free time tonight to give 'er a try. Thanks
Mr. Dan Sellers for the Presentation!
&lt;/div&gt;
&lt;div&gt;&amp;nbsp;
&lt;/div&gt;
&lt;div&gt;Well, it's looking like it's going to be a beautiful day. I find it interesting
just how empty the office is when I get in to work in the morning. I get to see who's
actually showing up on time, and who's leaving when they're supposed to be. I technically
don't start until 8am, but I usually make it in around 7:40ish... enough time for
me to post a single blog entry. It's interesting to see what time the 7:30 starters
actually get to work, then see them leave a half hour before me. I really need to
let loose and not be just a hardass. I'm sorry, a little anal retentive like that.
Time is a big part of my life. 
&lt;/div&gt;
&lt;div&gt;&amp;nbsp;
&lt;/div&gt;
&lt;div&gt;Anyways, I feel like I haven't had any personal time for a while now. I guess
this is what it feels like to be an 
&lt;/div&gt;
&lt;div&gt;'adult' hey? Although I'm 21, I feel like I havent really hit adulthood until
recently. Man, high school sure is looking much better these day. All that free time,
and I spent most of it doing a whole lot of nothing. Time well wasted in my opinion.
Geeebus, my thought's are all over the place today. 
&lt;/div&gt;
&lt;div&gt;&amp;nbsp;
&lt;/div&gt;
&lt;div&gt;You know, I've heard a little talk around the office about starting your own
business and risks in doing so. And how a lot prefer to work for someone else. Let
someone else take the risk. Hmmm... I honestly don't feel the same way.&amp;nbsp;The other
day when I was talking to myself, *you heard me*, I said "I've never done anything
right in my life, without doing it wrong first." And I think that's kind of my personal
philosofphy, I'm not afraid to to take chances, I've made a lot of mistakes but, hey,
I've rebounded. I've learned to pick my sorry butt off the ground. What the hell am
I getting at here? I guess what I'm trying to say is... well.. I'm a terrible employee,
I'm opinionated, I think out of the box, and I want to be my own boss. But I realize
in order for me to become a good boss, even if my only employee is me, I have a lot
of skill to learn. And until then, I guess I'll be sitting here in my cubicle feeding
the corporate monster. I just hope he's hungry, because I've got a lot to learn!
&lt;/div&gt;
&lt;div&gt;&amp;nbsp;
&lt;/div&gt;
&lt;div&gt;Have a great day, and enjoy the long weekend~! (That goes for both sides of the
border)
&lt;/div&gt;
&lt;div&gt;&amp;nbsp;
&lt;/div&gt;
&lt;div&gt;Peace,
&lt;/div&gt;
&lt;div&gt;&amp;nbsp;
&lt;/div&gt;
&lt;div&gt;- Chili K.
&lt;/div&gt;
&lt;hints id="hah_hints"&gt;
&lt;/hints&gt;
&lt;img width="0" height="0" src="http://mokhan.ca/blog/aggbug.ashx?id=E2CAA5FD0245D158!1423" /&gt;</description>
      <category>.NET User Group</category>
      <category>Journal</category>
    </item>
    <item>
      <trackback:ping>http://mokhan.ca/blog/Trackback.aspx?guid=E2CAA5FD0245D158!1275</trackback:ping>
      <pingback:server>http://mokhan.ca/blog/pingback.aspx</pingback:server>
      <pingback:target>http://mokhan.ca/blog/PermaLink,guid,E2CAA5FD0245D158!1275.aspx</pingback:target>
      <dc:creator>Mr mO!</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <img style="width: 179px; height: 127px;" alt="msdn seminar somewhere else in the world" src="http://service-oriented.cc/biztalk-ftp/msdn-17.jpg" align="left" height="127" width="179" />Good
morning... well the rain seems to have stopped. but every single little town around
Calgary seems to be under a evacuation alert. there's flooding going on all over i
guess. not on my block though... hehe suckers~! but really that must suck... how do
you deal with your home getting flooded. I wouldnt be able to take it... I would want
to move. meh~! To all of you affected by the flooding... good luck~!
</p>
        <p>
Well, yesterday afternoon I took off to an MSDN/Technet presentation with some co-workers.
It was pretty damn sweet~! It was a fast track seminar on Visual Studio 2005 Team <img style="width: 193px; height: 152px;" alt="its barney rubble" src="http://www.vegalleries.com/hbopc/46flint02.jpg" align="right" height="152" width="193" />Suite.
Hot damn homie... and we all got a copy of the beta addition to take home. As well
as SQL Server 2005 with a 365 day license and bunch of other goodies. This was my
first Microsoft seminar of any sort and man it was fun. The presentation was 'FUN'...
yes you heard me... less powerpoint more presentation. There were a couple of presenters
and I would refer to them as Fred Flintstone and Barny Rubble. They worked so well
together, it made the presentation funny and interesting. Not to mention the free
XBOX lottery and Hacky Sacks... and Hats etc. Thanks Microsoft, Barnaby, Derek...
and uh oh I don't remember the other presenters name. I'll look them up and make sure
to throw you some links to their blog. Greaaaat stuff~! 
</p>
        <p>
So in my night class last night I learned a new way of designing a page layout in
Photoshop. It was more of a sneak peak then a lesson but I think I got the jist of
it... now if I can just adopt this new found language in my assignment. WHICH SUCKS
A**~! Ok so what's the use of being the greatest developer in the planet if your site
looks like crap. (I'm not referring to myself as the best developer, I'm far from
it. I'm just trying to make a point.) My hat goes off to all of you crazy web designers.
It takes a lot of creativity to put out some of the great sites that you do. So why
don't you toss me a trick or two... maybe even refer me to some where I might be able
to get some ideas for page designs. Hook a brotha up...
</p>
        <p>
And it's wednesday, oh did i mention the trip to mexico in september is booked? Saturday,
September. 17. 8:45am... woo hooo... "<img src="http://spaces.msn.com/mmm2005-05-13_18.25/RTE/emoticons/music_note.gif" height="19" width="19" />i'm
so excited, and i just cant fight..."<img src="http://spaces.msn.com/mmm2005-05-13_18.25/RTE/emoticons/music_note.gif" height="19" width="19" /></p>
        <hints id="hah_hints">
        </hints>
        <img width="0" height="0" src="http://mokhan.ca/blog/aggbug.ashx?id=E2CAA5FD0245D158!1275" />
      </body>
      <title>What a great week~!</title>
      <guid isPermaLink="false">http://mokhan.ca/blog/PermaLink,guid,E2CAA5FD0245D158!1275.aspx</guid>
      <link>http://mokhan.ca/blog/2005/06/08/What+A+Great+Week.aspx</link>
      <pubDate>Wed, 08 Jun 2005 12:53:14 GMT</pubDate>
      <description>&lt;p&gt;
&lt;img style="width: 179px; height: 127px;" alt="msdn seminar somewhere else in the world" src="http://service-oriented.cc/biztalk-ftp/msdn-17.jpg" align="left" height="127" width="179"&gt;Good
morning... well the rain seems to have stopped. but every single little town around
Calgary seems to be under a evacuation alert. there's flooding going on all over i
guess. not on my block though... hehe suckers~! but really that must suck... how do
you deal with your home getting flooded. I wouldnt be able to take it... I would want
to move. meh~! To all of you affected by the flooding... good luck~!
&lt;/p&gt;
&lt;p&gt;
Well, yesterday afternoon I took off to an MSDN/Technet presentation with some co-workers.
It was pretty damn sweet~! It was a fast track seminar on Visual Studio 2005 Team &lt;img style="width: 193px; height: 152px;" alt="its barney rubble" src="http://www.vegalleries.com/hbopc/46flint02.jpg" align="right" height="152" width="193"&gt;Suite.
Hot damn homie... and we all got a copy of the beta addition to take home. As well
as SQL Server 2005 with a 365 day license and bunch of other goodies. This was my
first Microsoft seminar of any sort and man it was fun. The presentation was 'FUN'...
yes you heard me... less powerpoint more presentation. There were a couple of presenters
and I would refer to them as Fred Flintstone and Barny Rubble. They worked so well
together, it made the presentation funny and interesting. Not to mention the free
XBOX lottery and Hacky Sacks... and Hats etc. Thanks Microsoft, Barnaby, Derek...
and uh oh I don't remember the other presenters name. I'll look them up and make sure
to throw you some links to their blog. Greaaaat stuff~! 
&lt;/p&gt;
&lt;p&gt;
So in my night class last night I learned a new way of designing a page layout in
Photoshop. It was more of a sneak peak then a lesson but I think I got the jist of
it... now if I can just adopt this new found language in my assignment. WHICH SUCKS
A**~! Ok so what's the use of being the greatest developer in the planet if your site
looks like crap. (I'm not referring to myself as the best developer, I'm far from
it. I'm just trying to make a point.) My hat goes off to all of you crazy web designers.
It takes a lot of creativity to put out some of the great sites that you do. So why
don't you toss me a trick or two... maybe even refer me to some where I might be able
to get some ideas for page designs. Hook a brotha up...
&lt;/p&gt;
&lt;p&gt;
And it's wednesday, oh did i mention the trip to mexico in september is booked? Saturday,
September. 17. 8:45am... woo hooo... "&lt;img src="http://spaces.msn.com/mmm2005-05-13_18.25/RTE/emoticons/music_note.gif" height="19" width="19"&gt;i'm
so excited, and i just cant fight..."&lt;img src="http://spaces.msn.com/mmm2005-05-13_18.25/RTE/emoticons/music_note.gif" height="19" width="19"&gt;
&lt;/p&gt;
&lt;hints id="hah_hints"&gt;
&lt;/hints&gt;
&lt;img width="0" height="0" src="http://mokhan.ca/blog/aggbug.ashx?id=E2CAA5FD0245D158!1275" /&gt;</description>
      <category>.NET User Group</category>
      <category>Journal</category>
    </item>
  </channel>
</rss>