<?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>CTRLALT313373.com - Original Posts</title>
    <link>http://weblog.ctrlalt313373.com/</link>
    <description>.Net Wanderings</description>
    <language>en-us</language>
    <copyright>David A. Osborn</copyright>
    <lastBuildDate>Tue, 02 Oct 2007 11:00:00 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 2.3.9074.18820</generator>
    <managingEditor>davido@ctrlalt313373.com</managingEditor>
    <webMaster>davido@ctrlalt313373.com</webMaster>
    <item>
      <trackback:ping>http://weblog.ctrlalt313373.com/Trackback.aspx?guid=32</trackback:ping>
      <pingback:server>http://weblog.ctrlalt313373.com/pingback.aspx</pingback:server>
      <pingback:target>http://weblog.ctrlalt313373.com/PermaLink,guid,32.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://weblog.ctrlalt313373.com/CommentView,guid,32.aspx</wfw:comment>
      <wfw:commentRss>http://weblog.ctrlalt313373.com/SyndicationService.asmx/GetEntryCommentsRss?guid=32</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I just wanted to give everyone a quick heads up about the <a href="http://www.iadnug.org/DesktopDefault.aspx">IADNUG</a> meeting
tomorrow night at the DMACC West campus.  <a href="http://www.developernotes.com/">Nick
Parker</a> will be doing a presentation on  dependency inversion in .NET. 
I hope to see you there.
</p>
        <img width="0" height="0" src="http://weblog.ctrlalt313373.com/aggbug.ashx?id=32" />
      </body>
      <title>IADNUG Meeting Tomorrow</title>
      <guid isPermaLink="false">http://weblog.ctrlalt313373.com/PermaLink,guid,32.aspx</guid>
      <link>http://weblog.ctrlalt313373.com/2007/10/02/IADNUGMeetingTomorrow.aspx</link>
      <pubDate>Tue, 02 Oct 2007 11:00:00 GMT</pubDate>
      <description>&lt;p&gt;
I just wanted to give everyone a quick heads up about the &lt;a href="http://www.iadnug.org/DesktopDefault.aspx"&gt;IADNUG&lt;/a&gt; meeting
tomorrow night at the DMACC West campus.&amp;nbsp; &lt;a href="http://www.developernotes.com/"&gt;Nick
Parker&lt;/a&gt; will be doing a presentation on&amp;nbsp; dependency inversion in .NET.&amp;nbsp;
I hope to see you there.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://weblog.ctrlalt313373.com/aggbug.ashx?id=32" /&gt;</description>
      <comments>http://weblog.ctrlalt313373.com/CommentView,guid,32.aspx</comments>
      <category>Original Posts</category>
    </item>
    <item>
      <trackback:ping>http://weblog.ctrlalt313373.com/Trackback.aspx?guid=31</trackback:ping>
      <pingback:server>http://weblog.ctrlalt313373.com/pingback.aspx</pingback:server>
      <pingback:target>http://weblog.ctrlalt313373.com/PermaLink,guid,31.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://weblog.ctrlalt313373.com/CommentView,guid,31.aspx</wfw:comment>
      <wfw:commentRss>http://weblog.ctrlalt313373.com/SyndicationService.asmx/GetEntryCommentsRss?guid=31</wfw:commentRss>
      <title>Nike + iPod – 250 miles later</title>
      <guid isPermaLink="false">http://weblog.ctrlalt313373.com/PermaLink,guid,31.aspx</guid>
      <link>http://weblog.ctrlalt313373.com/2007/09/15/NikeIPod250MilesLater.aspx</link>
      <pubDate>Sat, 15 Sep 2007 11:00:00 GMT</pubDate>
      <description>&lt;p class="MsoNormal" style="text-indent: 0.5in;"&gt;
This week I hit the 250 mile running mark on my &lt;a href="http://www.apple.com/ipod/nike/"&gt;Nike
+ iPod&lt;/a&gt; and I love it.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;I definitely hate running though,
it&amp;rsquo;s rather boring and tends to be a lot of work, but adding a bit of technology
to it that allows me to monitor my progress makes it bearable and keeps me in better
shape.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;The Nike + iPod consists of a wireless sensor that
attaches to your shoe, a wireless receiver that plugs into your iPod, and the &lt;a href="http://www.nikeplus.com/"&gt;nikeplus.com&lt;/a&gt; website.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;This
wireless sensor is designed to slip under the sole of certain Nike shoes which now
appear to be down to as cheap as $40, but when I got the device the cheapest shoes
that supported it were $100 so I opted for the &lt;a href="http://www.switcheasy.com/products/runaway.htm"&gt;RunAway&lt;/a&gt; which
cost me about $10.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;I read a few comments on the Internet
saying these adapters don&amp;rsquo;t work &lt;span style=""&gt;&amp;nbsp;&lt;/span&gt;because the sense
works by pressure which you don&amp;rsquo;t get by strapping the sensor to your laces,
but I haven&amp;rsquo;t had any problems.&lt;span style=""&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Now that the
Nike shoes have come down in price though, I may get a pair and test out the difference.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;The
sensor and receiver combo runs around $25.
&lt;/p&gt;
&lt;p class="MsoNormal" style="text-indent: 0.5in;"&gt;
Basically the entire add-on is a glorified pedometer, but it has some great features
that allow you to monitor your running.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;First off you
are able to monitor your running, while you&amp;rsquo;re running.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;With
one push of the center iPod button, you get informed of your distance, time, and pace.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;You&amp;rsquo;re
also able to monitor your overall running by syncing your runs up to the Nike+ website
and tracking how well you&amp;rsquo;re doing over time.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;You
can also set target goals on the website and track if you are meeting them.
&lt;/p&gt;
&lt;p class="MsoNormal" style="text-indent: 0.5in;"&gt;
Another nice feature is the ability to set up a power song.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;Mine
is The Eye of the Tiger and it plays whenever I need a little extra motivation by
holding down the center iPod button for a few seconds.
&lt;/p&gt;
&lt;p class="MsoNormal" style="text-indent: 0.5in;"&gt;
I love this add-on and the ability to track my running motives me to run more, but
one thing I don&amp;rsquo;t like is the fact that I can&amp;rsquo;t change the song very easily
while running since the iPod is strapped to my arm and I can&amp;rsquo;t see the screen.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;Hopefully
this problem with be resolved if the &lt;a href="http://www.engadget.com/2006/11/27/nike-amp-wireless-ipod-remote-spotted/"&gt;Nike
Amp+&lt;/a&gt; ever comes out.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;It is a wristwatch like remote
that allows you to control the iPod while running.
&lt;/p&gt;
&lt;p class="MsoNormal" style="text-indent: 0.5in;"&gt;
Check it out and I&amp;rsquo;ll let you know when I hit 500 miles.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://weblog.ctrlalt313373.com/aggbug.ashx?id=31" /&gt;</description>
      <comments>http://weblog.ctrlalt313373.com/CommentView,guid,31.aspx</comments>
      <category>Original Posts</category>
    </item>
    <item>
      <trackback:ping>http://weblog.ctrlalt313373.com/Trackback.aspx?guid=30</trackback:ping>
      <pingback:server>http://weblog.ctrlalt313373.com/pingback.aspx</pingback:server>
      <pingback:target>http://weblog.ctrlalt313373.com/PermaLink,guid,30.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://weblog.ctrlalt313373.com/CommentView,guid,30.aspx</wfw:comment>
      <wfw:commentRss>http://weblog.ctrlalt313373.com/SyndicationService.asmx/GetEntryCommentsRss?guid=30</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
This weekend I have been spending most of my time rebuilding my KnoppMyth box by installing
the lastest version, applying the patch to handle the new tv lisings provider, Schedule
Direct, and adding a new 500GB drive for recording tv.  I wrote down most of
the steps to get things setup and plan to do a blog posting about soon.  At the
moment what I did want to post is a link to a page on <a href="http://linux.justinhartman.com/Installing_a_second_hard_drive">how
to add a second drive to linux</a>. They are clear instructions and worked nicely. 
I'm mounting this new hardrive to the /myth/tv directory so that all tv recording
will go to it.
</p>
        <p>
If you're trying to do exactly what I did, then you also need to set the proper permissions
back on the /myth/tv directory or you will get a bunch of errors.  First set
the owner of the directory back to mythtv by doing this
</p>
        <p>
chown mythtv /myth/tv
</p>
        <p>
Then to get the permissions exactly back to where the were I added write permission
back on for the group by doing:
</p>
        <p>
chmod g+w /myth/tv
</p>
        <p>
You can compare the before and after permissions and ownership my doing ls -l /myth 
before you make any of these changes and then again afterwards.
</p>
        <img width="0" height="0" src="http://weblog.ctrlalt313373.com/aggbug.ashx?id=30" />
      </body>
      <title>Adding A New Harddrive To Linux</title>
      <guid isPermaLink="false">http://weblog.ctrlalt313373.com/PermaLink,guid,30.aspx</guid>
      <link>http://weblog.ctrlalt313373.com/2007/09/08/AddingANewHarddriveToLinux.aspx</link>
      <pubDate>Sat, 08 Sep 2007 10:00:00 GMT</pubDate>
      <description>&lt;p&gt;
This weekend I have been spending most of my time rebuilding my KnoppMyth box by installing
the lastest version, applying the patch to handle the new tv lisings provider, Schedule
Direct, and adding a new 500GB drive for recording tv.&amp;nbsp; I wrote down most of
the steps to get things setup and plan to do a blog posting about soon.&amp;nbsp; At the
moment what I did want to post is a link to a page on &lt;a href="http://linux.justinhartman.com/Installing_a_second_hard_drive"&gt;how
to add a second drive to linux&lt;/a&gt;. They are clear instructions and worked nicely.&amp;nbsp;
I'm mounting this new hardrive to the /myth/tv directory so that all tv recording
will go to it.
&lt;/p&gt;
&lt;p&gt;
If you're trying to do exactly what I did, then you also need to set the proper permissions
back on the /myth/tv directory or you will get a bunch of errors.&amp;nbsp; First set
the owner of the directory back to mythtv by doing this
&lt;/p&gt;
&lt;p&gt;
chown mythtv /myth/tv
&lt;/p&gt;
&lt;p&gt;
Then to get the permissions exactly back to where the were I added write permission
back on for the group by doing:
&lt;/p&gt;
&lt;p&gt;
chmod g+w /myth/tv
&lt;/p&gt;
&lt;p&gt;
You can compare the before and after permissions and ownership my doing ls -l /myth&amp;nbsp;
before you make any of these changes and then again afterwards.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://weblog.ctrlalt313373.com/aggbug.ashx?id=30" /&gt;</description>
      <comments>http://weblog.ctrlalt313373.com/CommentView,guid,30.aspx</comments>
      <category>Original Posts</category>
    </item>
    <item>
      <trackback:ping>http://weblog.ctrlalt313373.com/Trackback.aspx?guid=29</trackback:ping>
      <pingback:server>http://weblog.ctrlalt313373.com/pingback.aspx</pingback:server>
      <pingback:target>http://weblog.ctrlalt313373.com/PermaLink,guid,29.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://weblog.ctrlalt313373.com/CommentView,guid,29.aspx</wfw:comment>
      <wfw:commentRss>http://weblog.ctrlalt313373.com/SyndicationService.asmx/GetEntryCommentsRss?guid=29</wfw:commentRss>
      <title>Goodbye Corporate, Hello Jeans</title>
      <guid isPermaLink="false">http://weblog.ctrlalt313373.com/PermaLink,guid,29.aspx</guid>
      <link>http://weblog.ctrlalt313373.com/2007/09/07/GoodbyeCorporateHelloJeans.aspx</link>
      <pubDate>Fri, 07 Sep 2007 11:00:00 GMT</pubDate>
      <description>&lt;p class="MsoNormal"&gt;
I said goodbye to Wells Fargo this week and hello to a new job that will hopefully
fit my style much better.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;Wells Fargo just wasn&amp;rsquo;t
hitting the mark for what I wanted to be doing professionally and I found myself doing
a lot of content changes and minor code changes, many of which were in classic asp
and .NET 1.1.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;I was about to start a new project from
scratch in .NET 2.0 that would have taken the next two or three months to complete,
but I realized that once that was finished I would probably be back to handling minor
changes.
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;I&amp;rsquo;ve
worked at two different large companies in my development career, and I have come
to the conclusion that they do not respect the individual developer as an asset.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;Don&amp;rsquo;t
get me wrong, in both cases my direct manager has been very good and I felt they considered
me an asset, but in general I think management as a whole in a large company doesn&amp;rsquo;t
care who the developer is sitting in the seat and thinks all developers have the same
skill set.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;From what I have seen this is definitely not
the case and except for a couple of very smart developers I have met, a significant
number of developers in general really don&amp;rsquo;t seem to have the aptitude nor ambition
to do their jobs
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;The
biggest thing I think corporations with development departments need to start doing
is charging their internal departments.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;A significant
amount of money and time seems to get wasted with users and management abusing their
development department by flip flopping on changes, and general indecisiveness.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;I
think by billing the department that the application is for (at a reasonable rate)
the requesting department would be more conscience of the time that they are utilizing
for development.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;It&amp;rsquo;s very easy to take advantage
of the development department, when you have no consequences from it.
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;So
where are you off too, you ask?&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;Well I&amp;rsquo;ve headed
over to work with &lt;a href="http://www.developernotes.com/"&gt;Nick&lt;/a&gt; at Two Rivers
Marketing.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;It will be nice to finally leave my kakis hanging
in the closet and be able to wear some comfortable clothes to work for a change.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;I&amp;rsquo;ve
met several of the guys there through the &lt;a href="http://www.iadnug.org/DesktopDefault.aspx"&gt;IADNUG&lt;/a&gt; and
felt they had the type of attitude that I was looking for.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;I
hope that I can learn a lot there and maybe even teach them a few things.
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Lastly
I would just like to point out that most of us developer work at least forty hours
a week, probably even more, so if you&amp;rsquo;re not doing something you are enjoying
then you owe it to yourself to do something about it.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;If
you&amp;rsquo;ve been telling yourself for awhile now that things will get better soon,
or that a fun project will probably be around the corner, then you need to start considering
a job change and at least stick your resume out there to see what the world has to
offer you.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://weblog.ctrlalt313373.com/aggbug.ashx?id=29" /&gt;</description>
      <comments>http://weblog.ctrlalt313373.com/CommentView,guid,29.aspx</comments>
      <category>Original Posts</category>
    </item>
    <item>
      <trackback:ping>http://weblog.ctrlalt313373.com/Trackback.aspx?guid=28</trackback:ping>
      <pingback:server>http://weblog.ctrlalt313373.com/pingback.aspx</pingback:server>
      <pingback:target>http://weblog.ctrlalt313373.com/PermaLink,guid,28.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://weblog.ctrlalt313373.com/CommentView,guid,28.aspx</wfw:comment>
      <wfw:commentRss>http://weblog.ctrlalt313373.com/SyndicationService.asmx/GetEntryCommentsRss?guid=28</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Take a look at the <a href="https://store.dataevolution.com/ProductDetails.asp?ProductCode=DT%2D7001">decTop</a>. 
Its a small computer weighing three pounds that can run Windows CE or linux. 
It has 128mb of memory and 10GB for storage.  With four USB ports you could easily
add a wireless usb stick for network connectivity and do some cool things.  I
came across this on <a href="http://www.lifehacker.com">LifeHacker</a> and my mind
is full of ideas for it.  Plus at $100 its not to bad of a price.
</p>
        <img width="0" height="0" src="http://weblog.ctrlalt313373.com/aggbug.ashx?id=28" />
      </body>
      <title>Check out the decTop!</title>
      <guid isPermaLink="false">http://weblog.ctrlalt313373.com/PermaLink,guid,28.aspx</guid>
      <link>http://weblog.ctrlalt313373.com/2007/08/17/CheckOutTheDecTop.aspx</link>
      <pubDate>Fri, 17 Aug 2007 11:00:00 GMT</pubDate>
      <description>&lt;p&gt;
Take a look at the &lt;a href="https://store.dataevolution.com/ProductDetails.asp?ProductCode=DT%2D7001"&gt;decTop&lt;/a&gt;.&amp;nbsp;
Its a small computer weighing three pounds that can run Windows CE or linux.&amp;nbsp;
It has 128mb of memory and 10GB for storage.&amp;nbsp; With four USB ports you could easily
add a wireless usb stick for network connectivity and do some cool things.&amp;nbsp; I
came across this on &lt;a href="http://www.lifehacker.com"&gt;LifeHacker&lt;/a&gt; and my mind
is full of ideas for it.&amp;nbsp; Plus at $100 its not to bad of a price.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://weblog.ctrlalt313373.com/aggbug.ashx?id=28" /&gt;</description>
      <comments>http://weblog.ctrlalt313373.com/CommentView,guid,28.aspx</comments>
      <category>Original Posts</category>
    </item>
    <item>
      <trackback:ping>http://weblog.ctrlalt313373.com/Trackback.aspx?guid=27</trackback:ping>
      <pingback:server>http://weblog.ctrlalt313373.com/pingback.aspx</pingback:server>
      <pingback:target>http://weblog.ctrlalt313373.com/PermaLink,guid,27.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://weblog.ctrlalt313373.com/CommentView,guid,27.aspx</wfw:comment>
      <wfw:commentRss>http://weblog.ctrlalt313373.com/SyndicationService.asmx/GetEntryCommentsRss?guid=27</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Well I thought I would be nice and put up the code sample for implementing FizzBuzz
using and extension method in VB.NET.  To read my full explanation of FizzBuzz
and extension methods please read my previous <a href="/2007/08/14/ImplementingFizzBuzzUsingAnExtensionMethodInC.aspx">post</a>.
</p>
        <p>
Those of you that know me, know that I could care less if you program in VB or C#,
but I definitely prefer C# because it allows me to type a lot less.  Extension
methods appear to be no different are a bit more complicated in VB, requiring that
they are in a module and decorated with an attribute.
</p>
        <p>
Module ExtensionMethods<br /><br />
    Sub Main()<br /><br /><br />
        For i As Integer = 1 To 100<br />
            Console.WriteLine(i.FizzBuzz)<br />
        Next<br /><br />
        Console.ReadLine()<br /><br />
    End Sub<br /><br />
    &lt;System.Runtime.CompilerServices.ExtensionAttribute()&gt; _<br />
Public Function FizzBuzz(ByVal Value As Integer) As String<br />
        Dim rtnVal As String = ""<br /><br />
        If Value Mod 3 = 0 Then<br />
            rtnVal += "Fizz"<br />
        End If<br /><br />
        If Value Mod 5 = 0 Then<br />
            rtnVal += "Buzz"<br />
        End If<br /><br />
        If rtnVal = "" Then<br />
            rtnVal = Value.ToString<br />
        End If<br /><br />
        Return rtnVal<br />
    End Function<br /><br />
End Module
</p>
        <img width="0" height="0" src="http://weblog.ctrlalt313373.com/aggbug.ashx?id=27" />
      </body>
      <title>Implementing FizzBuzz Using an Extension Method in VB.NET</title>
      <guid isPermaLink="false">http://weblog.ctrlalt313373.com/PermaLink,guid,27.aspx</guid>
      <link>http://weblog.ctrlalt313373.com/2007/08/16/ImplementingFizzBuzzUsingAnExtensionMethodInVBNET.aspx</link>
      <pubDate>Thu, 16 Aug 2007 11:00:00 GMT</pubDate>
      <description>&lt;p&gt;
Well I thought I would be nice and put up the code sample for implementing FizzBuzz
using and extension method in VB.NET.&amp;nbsp; To read my full explanation of FizzBuzz
and extension methods please read my previous &lt;a href="/2007/08/14/ImplementingFizzBuzzUsingAnExtensionMethodInC.aspx"&gt;post&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
Those of you that know me, know that I could care less if you program in VB or C#,
but I definitely prefer C# because it allows me to type a lot less.&amp;nbsp; Extension
methods appear to be no different are a bit more complicated in VB, requiring that
they are in a module and decorated with an attribute.
&lt;/p&gt;
&lt;p&gt;
Module ExtensionMethods&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Sub Main()&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; For i As Integer = 1 To 100&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.WriteLine(i.FizzBuzz)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.ReadLine()&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; End Sub&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;System.Runtime.CompilerServices.ExtensionAttribute()&amp;gt; _&lt;br&gt;
Public Function FizzBuzz(ByVal Value As Integer) As String&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim rtnVal As String = ""&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If Value Mod 3 = 0 Then&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rtnVal += "Fizz"&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If Value Mod 5 = 0 Then&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rtnVal += "Buzz"&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If rtnVal = "" Then&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rtnVal = Value.ToString&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Return rtnVal&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; End Function&lt;br&gt;
&lt;br&gt;
End Module
&lt;/p&gt;
&lt;img width="0" height="0" src="http://weblog.ctrlalt313373.com/aggbug.ashx?id=27" /&gt;</description>
      <comments>http://weblog.ctrlalt313373.com/CommentView,guid,27.aspx</comments>
      <category>Original Posts</category>
    </item>
    <item>
      <trackback:ping>http://weblog.ctrlalt313373.com/Trackback.aspx?guid=26</trackback:ping>
      <pingback:server>http://weblog.ctrlalt313373.com/pingback.aspx</pingback:server>
      <pingback:target>http://weblog.ctrlalt313373.com/PermaLink,guid,26.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://weblog.ctrlalt313373.com/CommentView,guid,26.aspx</wfw:comment>
      <wfw:commentRss>http://weblog.ctrlalt313373.com/SyndicationService.asmx/GetEntryCommentsRss?guid=26</wfw:commentRss>
      <title>Implementing FizzBuzz Using an Extension Method in C#</title>
      <guid isPermaLink="false">http://weblog.ctrlalt313373.com/PermaLink,guid,26.aspx</guid>
      <link>http://weblog.ctrlalt313373.com/2007/08/14/ImplementingFizzBuzzUsingAnExtensionMethodInC.aspx</link>
      <pubDate>Tue, 14 Aug 2007 10:00:00 GMT</pubDate>
      <description>&lt;p style="text-indent: 0.5in;" class="MsoNormal"&gt;
For those of you that don&amp;rsquo;t know what FizzBuzz is, it became quite popular awhile
back when Jeff Atwood posted to his &lt;a href="http://www.codinghorror.com/blog/archives/000781.html"&gt;blog&lt;/a&gt; a
few quotes from people about interviewing candidates for programming jobs and the
fact that many of them can&amp;rsquo;t code. (It&amp;rsquo;s possible that the topic originated
from someone else.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;I heard it originally from Scott Hanselman&amp;rsquo;s &lt;a href="http://www.hanselman.com/blog/YouCantTeachHeightMeasuringProgrammerCompetenceViaFizzBuzz.aspx"&gt;blog&lt;/a&gt; who
referenced Jeff.)&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;FizzBuzz is a simple coding exercise
where you write a loop that prints the numbers from 1 to 100, except if the number
is divisible by three it outputs Fizz and if the number is divisible by five it outputs
Buzz.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;If it is divisible by both you output FizzBuzz.
&lt;/p&gt;
&lt;p style="text-indent: 0.5in;" class="MsoNormal"&gt;
What is an Extension Method?&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;An extension method is a
new feature in .Net 3.5 that allows you to add methods to an existing object.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;It
allows you to modify an object without needing to create your own version of it through
inheritance.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;Why is this useful?&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;I&amp;rsquo;m
sure there are many reasons.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;One is that if you don&amp;rsquo;t
have the ability to change the object that is being passed to your class then you
can&amp;rsquo;t just use inheritance and create your own version of the object, but what
you can do is create an extension method.
&lt;/p&gt;
&lt;p style="text-indent: 0.5in;" class="MsoNormal"&gt;
This example that I am going to walk you through will add a method to int called FizzBuzz.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;Calling
this method will output a string with either the number of your int, Fizz, Buzz, or
FizzBuzz depending on the criteria stated above.
&lt;/p&gt;
&lt;p style="text-indent: 0.5in;" class="MsoNormal"&gt;
This code for the extension method is fairly simple:
&lt;/p&gt;
&lt;p style="text-indent: 0.5in;" class="MsoNormal"&gt;
&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;
&lt;/p&gt;
&lt;p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal"&gt;
&lt;span color:="" new="" courier="" style="font-size: 10pt;"&gt;namespace&lt;/span&gt;&lt;span new="" courier="" style="font-size: 10pt;"&gt; ExtensionMethodExample&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal"&gt;
&lt;span new="" courier="" style="font-size: 10pt;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal"&gt;
&lt;span new="" courier="" style="font-size: 10pt;"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;static&lt;/span&gt; &lt;span style="color: blue;"&gt;class&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;CustomExtensionMethods&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal"&gt;
&lt;span new="" courier="" style="font-size: 10pt;"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal"&gt;
&lt;span new="" courier="" style="font-size: 10pt;"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;static&lt;/span&gt; &lt;span style="color: blue;"&gt;string&lt;/span&gt; FizzBuzz(&lt;span style="color: blue;"&gt;this&lt;/span&gt; &lt;span style="color: blue;"&gt;int&lt;/span&gt; value)&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal"&gt;
&lt;span new="" courier="" style="font-size: 10pt;"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal"&gt;
&lt;span new="" courier="" style="font-size: 10pt;"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;string&lt;/span&gt; rtnVal
= &lt;span style="color: rgb(163, 21, 21);"&gt;&amp;quot;&amp;quot;&lt;/span&gt;;&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal"&gt;
&lt;span new="" courier="" style="font-size: 10pt;"&gt;
&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal"&gt;
&lt;span new="" courier="" style="font-size: 10pt;"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt; (value
% 3 == 0)&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal"&gt;
&lt;span new="" courier="" style="font-size: 10pt;"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal"&gt;
&lt;span new="" courier="" style="font-size: 10pt;"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;rtnVal
+= &lt;span style="color: rgb(163, 21, 21);"&gt;&amp;quot;Fizz&amp;quot;&lt;/span&gt;;&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal"&gt;
&lt;span new="" courier="" style="font-size: 10pt;"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal"&gt;
&lt;span new="" courier="" style="font-size: 10pt;"&gt;
&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal"&gt;
&lt;span new="" courier="" style="font-size: 10pt;"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt; (value
% 5 == 0)&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal"&gt;
&lt;span new="" courier="" style="font-size: 10pt;"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal"&gt;
&lt;span new="" courier="" style="font-size: 10pt;"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;rtnVal
+= &lt;span style="color: rgb(163, 21, 21);"&gt;&amp;quot;Buzz&amp;quot;&lt;/span&gt;;&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal"&gt;
&lt;span new="" courier="" style="font-size: 10pt;"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal"&gt;
&lt;span new="" courier="" style="font-size: 10pt;"&gt;
&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal"&gt;
&lt;span new="" courier="" style="font-size: 10pt;"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt; (rtnVal
== &lt;span style="color: rgb(163, 21, 21);"&gt;&amp;quot;&amp;quot;&lt;/span&gt;)&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal"&gt;
&lt;span new="" courier="" style="font-size: 10pt;"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal"&gt;
&lt;span new="" courier="" style="font-size: 10pt;"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;rtnVal
= value.ToString();&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal"&gt;
&lt;span new="" courier="" style="font-size: 10pt;"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal"&gt;
&lt;span new="" courier="" style="font-size: 10pt;"&gt;
&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal"&gt;
&lt;span new="" courier="" style="font-size: 10pt;"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;return&lt;/span&gt; rtnVal;&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal"&gt;
&lt;span new="" courier="" style="font-size: 10pt;"&gt;
&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal"&gt;
&lt;span new="" courier="" style="font-size: 10pt;"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal"&gt;
&lt;span new="" courier="" style="font-size: 10pt;"&gt;
&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal"&gt;
&lt;span new="" courier="" style="font-size: 10pt;"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
&lt;span new="" courier="" style="font-size: 10pt; line-height: 115%;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
&lt;span new="" courier="" style="font-size: 10pt; line-height: 115%;"&gt;
&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
&lt;span style=""&gt;Here I have a static class called CustomExtensionMethods. Next, I have
created a static method called FizzBuzz.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;The magic happens
when I all this to the input parameter. I then calculate FizzBuzz on my input parameter
and return the appropriate string.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;(I&amp;rsquo;m sure there
is a better way to implement FizzBuzz.)&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
&lt;span style=""&gt;That&amp;rsquo;s it.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;I then utilitize the new
FizzBuzz method like this(In my case I have created a simple console application):&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal"&gt;
&lt;span color:="" new="" courier="" style="font-size: 10pt;"&gt;using&lt;/span&gt;&lt;span new="" courier="" style="font-size: 10pt;"&gt; System;&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal"&gt;
&lt;span color:="" new="" courier="" style="font-size: 10pt;"&gt;using&lt;/span&gt;&lt;span new="" courier="" style="font-size: 10pt;"&gt; System.Collections.Generic;&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal"&gt;
&lt;span color:="" new="" courier="" style="font-size: 10pt;"&gt;using&lt;/span&gt;&lt;span new="" courier="" style="font-size: 10pt;"&gt; System.Text;&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal"&gt;
&lt;span color:="" new="" courier="" style="font-size: 10pt;"&gt;using&lt;/span&gt;&lt;span new="" courier="" style="font-size: 10pt;"&gt; ExtensionMethodExample;&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal"&gt;
&lt;span new="" courier="" style="font-size: 10pt;"&gt;
&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal"&gt;
&lt;span color:="" new="" courier="" style="font-size: 10pt;"&gt;namespace&lt;/span&gt;&lt;span new="" courier="" style="font-size: 10pt;"&gt; ExtenderMethodExample&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal"&gt;
&lt;span new="" courier="" style="font-size: 10pt;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal"&gt;
&lt;span new="" courier="" style="font-size: 10pt;"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;class&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;Program&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal"&gt;
&lt;span new="" courier="" style="font-size: 10pt;"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal"&gt;
&lt;span new="" courier="" style="font-size: 10pt;"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;static&lt;/span&gt; &lt;span style="color: blue;"&gt;void&lt;/span&gt; Main(&lt;span style="color: blue;"&gt;string&lt;/span&gt;[]
args)&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal"&gt;
&lt;span new="" courier="" style="font-size: 10pt;"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal"&gt;
&lt;span new="" courier="" style="font-size: 10pt;"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: blue;"&gt;for&lt;/span&gt; (&lt;span style="color: blue;"&gt;int&lt;/span&gt; i
= 1; i &amp;lt; 100; i++)&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal"&gt;
&lt;span new="" courier="" style="font-size: 10pt;"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal"&gt;
&lt;span new="" courier="" style="font-size: 10pt;"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;Console&lt;/span&gt;.WriteLine(i.FizzBuzz());&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal"&gt;
&lt;span new="" courier="" style="font-size: 10pt;"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal"&gt;
&lt;span new="" courier="" style="font-size: 10pt;"&gt;
&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal"&gt;
&lt;span new="" courier="" style="font-size: 10pt;"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;Console&lt;/span&gt;.ReadLine();&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal"&gt;
&lt;span new="" courier="" style="font-size: 10pt;"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="margin-bottom: 0.0001pt; line-height: normal;" class="MsoNormal"&gt;
&lt;span new="" courier="" style="font-size: 10pt;"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
&lt;span new="" courier="" style="font-size: 10pt; line-height: 115%;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
&lt;span style=""&gt;It&amp;rsquo;s that simple.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;Drop this into
a VS2008 console application and try it out.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;You will
have complete access to your extension methods via intellisense.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;Happy
coding.&lt;/span&gt;
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
&lt;span style=""&gt;&lt;font color="#ff9900"&gt;Was this post helpful? Post a comment and let
me know.&lt;/font&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://weblog.ctrlalt313373.com/aggbug.ashx?id=26" /&gt;</description>
      <comments>http://weblog.ctrlalt313373.com/CommentView,guid,26.aspx</comments>
      <category>Original Posts</category>
    </item>
    <item>
      <trackback:ping>http://weblog.ctrlalt313373.com/Trackback.aspx?guid=24</trackback:ping>
      <pingback:server>http://weblog.ctrlalt313373.com/pingback.aspx</pingback:server>
      <pingback:target>http://weblog.ctrlalt313373.com/PermaLink,guid,24.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://weblog.ctrlalt313373.com/CommentView,guid,24.aspx</wfw:comment>
      <wfw:commentRss>http://weblog.ctrlalt313373.com/SyndicationService.asmx/GetEntryCommentsRss?guid=24</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <title>The Scott Stanfield Show</title>
      <guid isPermaLink="false">http://weblog.ctrlalt313373.com/PermaLink,guid,24.aspx</guid>
      <link>http://weblog.ctrlalt313373.com/2007/08/10/TheScottStanfieldShow.aspx</link>
      <pubDate>Fri, 10 Aug 2007 11:00:00 GMT</pubDate>
      <description>&lt;p class="MsoNormal" style="text-indent: 0.5in;"&gt;
Well Greg Brill hasn&amp;rsquo;t responded to the email with my resume and I haven&amp;rsquo;t
gotten any swag from &lt;a href="http://www.dotnetrocks.com/"&gt;DotNetRocks!&lt;/a&gt;, but you
may have noticed that on episode &lt;a href="http://www.dotnetrocks.com/default.aspx?showNum=260"&gt;#260&lt;/a&gt; at
five minutes and twenty seconds Richard Campbell read my email.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;I
was a little surprised myself as I was only half listening while I was at work, but
sure enough he read my comments on show &lt;a href="http://www.dotnetrocks.com/default.aspx?showNum=244"&gt;#244&lt;/a&gt; with
Scott Stanfield.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;He didn&amp;rsquo;t read everything so here
is my email in full:
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
&lt;em style=""&gt;Hey Guys,&lt;o:p&gt;&lt;/o:p&gt;
&lt;/em&gt;
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
&lt;em style=""&gt;I just wanted to let you know that the Scott Stanfield show was great.&amp;nbsp;
I am a .Net developer and have been listening to the big three for some time now (.NetRocks,
Hanselminutes, and Runas Radio).&amp;nbsp; My only complaint is that I need more content
to listen to.&amp;nbsp; I&amp;rsquo;ve tried a few other podcasts, but either the content
or the sound quality sucked and I removed them from my subscriptions.&amp;nbsp; After
listening to the Scott Stanfield show I started thinking that you need to get this
guy his own podcast.&amp;nbsp; He knew a wide range of topics and obviously enjoyed talking
about them. &amp;nbsp;&amp;nbsp;The way he presented information reminded me of Scott Hanselman
as they both come across as very excited and enthusiastic about technology.&amp;nbsp;
What do you think?&amp;nbsp; If you&amp;rsquo;re too busy to get it up and going then maybe
you could hire a hot intern (or at least you could use it as an excuse to get one.)&amp;nbsp;
Just thought I would throw that out there.&amp;nbsp; Keep up the good work.&lt;o:p&gt;&lt;/o:p&gt;
&lt;/em&gt;
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
Anyways, I&amp;rsquo;m going to officially start the campaign for the Scott Stanfield
show.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;I don&amp;rsquo;t know If Scott wants to do one or not,
but if I can get enough people to ask then maybe he will.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;My
job is getting fairly boring and I need some interesting content to listen to so until
I get a new job, some swag as a bribe to shut me up, or the Scott Stanfield show starts
I&amp;rsquo;ll keep bugging for the new podcast.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;I&amp;rsquo;ve
put together a &lt;a href="../../../../../ScottStanfieldSurvey/tabid/69/Default.aspx"&gt;survey&lt;/a&gt; to
gather everyone&amp;rsquo;s opinion about the idea so fill out the survey and feel free
to comment about it here.
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://weblog.ctrlalt313373.com/aggbug.ashx?id=24" /&gt;</description>
      <comments>http://weblog.ctrlalt313373.com/CommentView,guid,24.aspx</comments>
      <category>Original Posts</category>
    </item>
    <item>
      <trackback:ping>http://weblog.ctrlalt313373.com/Trackback.aspx?guid=25</trackback:ping>
      <pingback:server>http://weblog.ctrlalt313373.com/pingback.aspx</pingback:server>
      <pingback:target>http://weblog.ctrlalt313373.com/PermaLink,guid,25.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://weblog.ctrlalt313373.com/CommentView,guid,25.aspx</wfw:comment>
      <wfw:commentRss>http://weblog.ctrlalt313373.com/SyndicationService.asmx/GetEntryCommentsRss?guid=25</wfw:commentRss>
      <slash:comments>3</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p class="MsoNormal" style="text-indent: 0.5in;">
If you haven’t been watching <a href="http://linux.slashdot.org/article.pl?sid=07/08/10/0049249">Slashdot</a> at
all or any of the many <a href="http://www.mythtv.org/">MythTV</a> forums out there
then you don’t know that we will all soon be losing our free XML feed of TV listings.  <a href="http://labs.zap2it.com/ztvws/ztvws_login/1,1059,TMS01-1,00.html">Zap2it
Labs</a> originally provided the feed for free for noncommercial use, but they are
going to stop providing this starting Sept 1<sup>st</sup>.  Several individuals
organized and have worked with Zap2it to keep the feed going and have created a new
entity called <a href="http://www.scheduledirect.org">Schedule Direct</a>.  Recently
Schedule Direct reached an agreement with Zap2it to continue to provide the feed to
open source DVR users through Schedule Direct.  Of course, the rub is that it
is going to begin costing $5 a month to subscribe to.  According to the website
they hope to turn this into only $20 a year, but they are waiting to figure out how
many individuals sign up.
</p>
        <p class="MsoNormal" style="text-indent: 0.5in;">
I don’t want to sound like a complete cheapo, but I can get a DVR from my cable company
for $5 more a month, and the entire point of me originally <a href="/2006/11/26/DVRPart1.aspx">building
my own DVR</a> was so that I would not have to pay a monthly fee and could instead
use that money to keep adding to my DVR.  Also, I have no idea how many MythTV
and <a href="http://xmltv.org/wiki/">XMLTV</a> users are out there, but someone is
bound to make a decent profit off of this at $5 a month per person.
</p>
        <p class="MsoNormal" style="text-indent: 0.5in;">
A few of the guys at work, including myself think that this is an area that Google
needs to get into.  Google’s all about providing different types of data, so
why can’t they start providing TV data?  It seems like the exact kind of service
that they would provide for free.  You could probably wrap some ads around it
all and generate some very decent revenue.  I even considered doing it myself,
but I already have two projects going on at the moment along with a full time job,
and I didn’t think I could put together a solution quick enough for it to be beneficial.
</p>
        <p class="MsoNormal" style="text-indent: 0.5in;">
Anyways, this leaves me with deciding what to do next and I am strongly considering
switching my setup over to Windows Vista Home Premium and using the Media Center functionality. 
From what I have heard it is pretty good, my only concern is if my hardware is all
supported, which I can’t figured out without hunting down the details on everything,
or just trying it out and killing my MythTV install.  Of course, after Sept 1<sup>st</sup> my
DVR is just going to be a big paper weight anyways.  What do you think? 
Should I not be a cheapo and pony up, or stick to my guns and have a completely monthly
fee free DVR?
</p>
        <img width="0" height="0" src="http://weblog.ctrlalt313373.com/aggbug.ashx?id=25" />
      </body>
      <title>MythTV Disappointment</title>
      <guid isPermaLink="false">http://weblog.ctrlalt313373.com/PermaLink,guid,25.aspx</guid>
      <link>http://weblog.ctrlalt313373.com/2007/08/10/MythTVDisappointment.aspx</link>
      <pubDate>Fri, 10 Aug 2007 10:00:00 GMT</pubDate>
      <description>&lt;p class="MsoNormal" style="text-indent: 0.5in;"&gt;
If you haven’t been watching &lt;a href="http://linux.slashdot.org/article.pl?sid=07/08/10/0049249"&gt;Slashdot&lt;/a&gt; at
all or any of the many &lt;a href="http://www.mythtv.org/"&gt;MythTV&lt;/a&gt; forums out there
then you don’t know that we will all soon be losing our free XML feed of TV listings.&amp;nbsp; &lt;a href="http://labs.zap2it.com/ztvws/ztvws_login/1,1059,TMS01-1,00.html"&gt;Zap2it
Labs&lt;/a&gt; originally provided the feed for free for noncommercial use, but they are
going to stop providing this starting Sept 1&lt;sup&gt;st&lt;/sup&gt;.&amp;nbsp; Several individuals
organized and have worked with Zap2it to keep the feed going and have created a new
entity called &lt;a href="http://www.scheduledirect.org"&gt;Schedule Direct&lt;/a&gt;.&amp;nbsp; Recently
Schedule Direct reached an agreement with Zap2it to continue to provide the feed to
open source DVR users through Schedule Direct.&amp;nbsp; Of course, the rub is that it
is going to begin costing $5 a month to subscribe to.&amp;nbsp; According to the website
they hope to turn this into only $20 a year, but they are waiting to figure out how
many individuals sign up.
&lt;/p&gt;
&lt;p class="MsoNormal" style="text-indent: 0.5in;"&gt;
I don’t want to sound like a complete cheapo, but I can get a DVR from my cable company
for $5 more a month, and the entire point of me originally &lt;a href="/2006/11/26/DVRPart1.aspx"&gt;building
my own DVR&lt;/a&gt; was so that I would not have to pay a monthly fee and could instead
use that money to keep adding to my DVR.&amp;nbsp; Also, I have no idea how many MythTV
and &lt;a href="http://xmltv.org/wiki/"&gt;XMLTV&lt;/a&gt; users are out there, but someone is
bound to make a decent profit off of this at $5 a month per person.
&lt;/p&gt;
&lt;p class="MsoNormal" style="text-indent: 0.5in;"&gt;
A few of the guys at work, including myself think that this is an area that Google
needs to get into.&amp;nbsp; Google’s all about providing different types of data, so
why can’t they start providing TV data?&amp;nbsp; It seems like the exact kind of service
that they would provide for free.&amp;nbsp; You could probably wrap some ads around it
all and generate some very decent revenue.&amp;nbsp; I even considered doing it myself,
but I already have two projects going on at the moment along with a full time job,
and I didn’t think I could put together a solution quick enough for it to be beneficial.
&lt;/p&gt;
&lt;p class="MsoNormal" style="text-indent: 0.5in;"&gt;
Anyways, this leaves me with deciding what to do next and I am strongly considering
switching my setup over to Windows Vista Home Premium and using the Media Center functionality.&amp;nbsp;
From what I have heard it is pretty good, my only concern is if my hardware is all
supported, which I can’t figured out without hunting down the details on everything,
or just trying it out and killing my MythTV install.&amp;nbsp; Of course, after Sept 1&lt;sup&gt;st&lt;/sup&gt; my
DVR is just going to be a big paper weight anyways.&amp;nbsp; What do you think?&amp;nbsp;
Should I not be a cheapo and pony up, or stick to my guns and have a completely monthly
fee free DVR?
&lt;/p&gt;
&lt;img width="0" height="0" src="http://weblog.ctrlalt313373.com/aggbug.ashx?id=25" /&gt;</description>
      <comments>http://weblog.ctrlalt313373.com/CommentView,guid,25.aspx</comments>
      <category>Original Posts</category>
    </item>
    <item>
      <trackback:ping>http://weblog.ctrlalt313373.com/Trackback.aspx?guid=23</trackback:ping>
      <pingback:server>http://weblog.ctrlalt313373.com/pingback.aspx</pingback:server>
      <pingback:target>http://weblog.ctrlalt313373.com/PermaLink,guid,23.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://weblog.ctrlalt313373.com/CommentView,guid,23.aspx</wfw:comment>
      <wfw:commentRss>http://weblog.ctrlalt313373.com/SyndicationService.asmx/GetEntryCommentsRss?guid=23</wfw:commentRss>
      <title>Build Server 101</title>
      <guid isPermaLink="false">http://weblog.ctrlalt313373.com/PermaLink,guid,23.aspx</guid>
      <link>http://weblog.ctrlalt313373.com/2007/08/06/BuildServer101.aspx</link>
      <pubDate>Mon, 06 Aug 2007 11:00:00 GMT</pubDate>
      <description>&lt;p class="MsoNormal" style="text-indent: 0.5in;"&gt;
As I mentioned in a previous post, a couple former coworkers and I are putting together
an application that we are hoping to take commercial.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;This
are going fairly well at this point, but perhaps a bit behind schedule as we are doing
it entirely .Net 3.0 so there has been a small learning curve, not to mention the
fact that we all still have day jobs.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;Of course, unlike
me, my partners also have significant others to dedicate time to.
&lt;/p&gt;
&lt;p class="MsoNormal" style="text-indent: 0.5in;"&gt;
Anyways, one of the things I wanted to utilize for this project because of the team
work environment and the disjoint schedules was a build server.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;(Okay,
I also wanted to learn about the entire concept and functionality of a build server.)&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;&lt;span style=""&gt;&amp;nbsp;&lt;/span&gt;I
used &lt;a href="http://cifactory.org/"&gt;CIFactory&lt;/a&gt; for our build server which was
created by Jay Flowers.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;CIFactory is basically a set of
scripts that configures/installs the components of the build server so that you don&amp;rsquo;t
have to put together all the integration scripts yourself.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;The
package works quite nicely and sets up things link &lt;a href="http://confluence.public.thoughtworks.org/display/CCNET/Welcome+to+CruiseControl.NET"&gt;CruiseControl.Net&lt;/a&gt;, &lt;a href="http://www.redhillconsulting.com.au/products/simian/"&gt;Simian&lt;/a&gt;, &lt;a href="http://ncover.org/site/"&gt;NCover&lt;/a&gt;, &lt;a href="http://www.ndepend.com/"&gt;NDepend&lt;/a&gt;,
and &lt;a href="http://msdn2.microsoft.com/en-us/library/ms182489(VS.80).aspx"&gt;MSTest&lt;/a&gt;.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;I
have it integrated with our Subversion repository, but it can also integrate with
Visual Source Safe and other repositories.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;It also can
integrate a lot of other tools besides what I have listed here.
&lt;/p&gt;
&lt;p class="MsoNormal" style="text-indent: 0.5in;"&gt;
At this point we are mainly using the setup to verify that the project is building
properly so that someone doesn&amp;rsquo;t grab the latest code and get stuck with errors
that some else has checked in.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;If a build fails an email
goes out notifying everyone of the broken build so that no one gets updates and the
person who broke it can get it fixed.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;(Getting people
to respect the build server is a completely different complication and topic.)&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;I
want to get more familiar with the other tools, especially the ones that revolve around
testing but I just haven&amp;rsquo;t had the time.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;I need
to put together a list of things to learn to make myself a better developer over the
next six months and add testing tools to the top of the list (along with Ruby).
&lt;/p&gt;
&lt;p class="MsoNormal" style="text-indent: 0.5in;"&gt;
If you want to get going on &lt;a href="http://cifactory.org/"&gt;CIFactory&lt;/a&gt; there is
an excellent DNRTV &lt;a href="http://www.dnrtv.com/default.aspx?showNum=64"&gt;episode&lt;/a&gt; on
it that I followed to get our setup going.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;I had it all
setup in a matter of a few minutes and I really like the setup.&lt;span style=""&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Jay
is also excellent at responding to any questions quickly and promptly.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;There
is one negative to the setup though that I came across this past week that was a real
disappointment for me.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;CIFactory does not support multiple
projects.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;It creates a separate CruiseControl.Net server
for each project and they won&amp;rsquo;t both run at the same time.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;It
appears from the news group that someone has made some modification and gotten it
working so that two projects are going to one CCNET, but the benefit of CIFactory
is the fact that it pretty much just works.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;If I&amp;rsquo;m
going to have to dig into scripts to get multiple projects working then I will probably
eventually rebuild the build server without CIFactory.
&lt;/p&gt;
&lt;p class="MsoNormal" style="text-indent: 0.5in;"&gt;
CIFactory is an excellent starter package for getting up and going with a build server
and if Jay gets the time to modify it to handle multiple project easily then it will
be an excellent solution for a permanent builder server.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;My
build server path will depend on if Jay gets multiple projects implemented before
I get the free time to rebuild the server.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://weblog.ctrlalt313373.com/aggbug.ashx?id=23" /&gt;</description>
      <comments>http://weblog.ctrlalt313373.com/CommentView,guid,23.aspx</comments>
      <category>Original Posts</category>
    </item>
    <item>
      <trackback:ping>http://weblog.ctrlalt313373.com/Trackback.aspx?guid=22</trackback:ping>
      <pingback:server>http://weblog.ctrlalt313373.com/pingback.aspx</pingback:server>
      <pingback:target>http://weblog.ctrlalt313373.com/PermaLink,guid,22.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://weblog.ctrlalt313373.com/CommentView,guid,22.aspx</wfw:comment>
      <wfw:commentRss>http://weblog.ctrlalt313373.com/SyndicationService.asmx/GetEntryCommentsRss?guid=22</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <title>Outlook 2007 and Hotmail Issues</title>
      <guid isPermaLink="false">http://weblog.ctrlalt313373.com/PermaLink,guid,22.aspx</guid>
      <link>http://weblog.ctrlalt313373.com/2007/08/03/Outlook2007AndHotmailIssues.aspx</link>
      <pubDate>Fri, 03 Aug 2007 11:00:00 GMT</pubDate>
      <description>&lt;p&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; I use a hotmail account.&amp;nbsp; I got it a really long time ago
and now I'm stuck with it.&amp;nbsp; If it had a feature to forward email I would have
switched a long time ago and had it forward to something else, but it doesn't so I'm
trapped.&amp;nbsp; The new Windows Live Mail is a very good interface, but I prefer to
not use a website to check my email when I'm at home so instead I use Outlook 2007,
which by the way seems to be extremely slow even after I install a patch that was
suppose to speed things up.
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Anyways, ever since I switched to 2007 from Outlook 2003 I continuously
get a prompt for my hotmail userid and password even when I click the remember password
button.&amp;nbsp; It was a huge annoyance and it finally got to me enough today to do
some Googling.&amp;nbsp; Here is the &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=1F9D33FF-7BFE-4336-9E65-972ED21324C4&amp;amp;displaylang=en"&gt;patch&lt;/a&gt; that
appears to resolve the issue.
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Things were even worse this past week when I couldn't even log
into my hotmail account with Outlook, for some reason, and I was forced to use the
web interface, but it appears that issue is finally resolved.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;Anyone
know what was going on?&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;I'm sure eventually I will be
annoyed enough to switch my email address, but until then at least I don&amp;rsquo;t get
prompted for my password anymore. (Knock on wood.)
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://weblog.ctrlalt313373.com/aggbug.ashx?id=22" /&gt;</description>
      <comments>http://weblog.ctrlalt313373.com/CommentView,guid,22.aspx</comments>
      <category>Original Posts</category>
    </item>
    <item>
      <trackback:ping>http://weblog.ctrlalt313373.com/Trackback.aspx?guid=21</trackback:ping>
      <pingback:server>http://weblog.ctrlalt313373.com/pingback.aspx</pingback:server>
      <pingback:target>http://weblog.ctrlalt313373.com/PermaLink,guid,21.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://weblog.ctrlalt313373.com/CommentView,guid,21.aspx</wfw:comment>
      <wfw:commentRss>http://weblog.ctrlalt313373.com/SyndicationService.asmx/GetEntryCommentsRss?guid=21</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Well I started Twittering last night.  (Would that be the proper wording for
it?)  <a href="http://www.twitter.com">Twitter</a> is a site that allows you
to setup a page and post short message too it, similar to a blog, but the messages
have to be under 140 characters.  You can post from the website, instant messenger,
or a text message from your cell phone.  Basically intended to keep friends up
to date on where you are or what you are doing.  I'm using it to vent throughout
the day about work and life, hence the reason I haven't posted the link to my Twitter
account because I just may be venting a short message about you, but feel free to
try and find it.  In general it seems like Twitter is a general waste of space
and time, but I also see where it could come in handy.  It would be interesting
to try Twittering a diet or spending habbits.  It would also be nice to have
all you friends on Twitter to know when individuals are as bored as you or up late
at night, so that you know who you can bug.
</p>
        <img width="0" height="0" src="http://weblog.ctrlalt313373.com/aggbug.ashx?id=21" />
      </body>
      <title>Twittering My Thumbs</title>
      <guid isPermaLink="false">http://weblog.ctrlalt313373.com/PermaLink,guid,21.aspx</guid>
      <link>http://weblog.ctrlalt313373.com/2007/07/21/TwitteringMyThumbs.aspx</link>
      <pubDate>Sat, 21 Jul 2007 11:00:00 GMT</pubDate>
      <description>&lt;p&gt;
Well I started Twittering last night.&amp;nbsp; (Would that be the proper wording for
it?)&amp;nbsp; &lt;a href="http://www.twitter.com"&gt;Twitter&lt;/a&gt; is a site that allows you
to setup a page and post short message too it, similar to a blog, but the messages
have to be under 140 characters.&amp;nbsp; You can post from the website, instant messenger,
or a text message from your cell phone.&amp;nbsp; Basically intended to keep friends up
to date on where you are or what you are doing.&amp;nbsp; I'm using it to vent throughout
the day about work and life, hence the reason I haven't posted the link to my Twitter
account because I just may be venting a short message about you, but feel free to
try and find it.&amp;nbsp; In general it seems like Twitter is a general waste of space
and time, but I also see where it could come in handy.&amp;nbsp; It would be interesting
to try Twittering a diet or spending habbits.&amp;nbsp; It would also be nice to have
all you friends on Twitter to know when individuals are as bored as you or up late
at night, so that you know who you can bug.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://weblog.ctrlalt313373.com/aggbug.ashx?id=21" /&gt;</description>
      <comments>http://weblog.ctrlalt313373.com/CommentView,guid,21.aspx</comments>
      <category>Original Posts</category>
    </item>
    <item>
      <trackback:ping>http://weblog.ctrlalt313373.com/Trackback.aspx?guid=20</trackback:ping>
      <pingback:server>http://weblog.ctrlalt313373.com/pingback.aspx</pingback:server>
      <pingback:target>http://weblog.ctrlalt313373.com/PermaLink,guid,20.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://weblog.ctrlalt313373.com/CommentView,guid,20.aspx</wfw:comment>
      <wfw:commentRss>http://weblog.ctrlalt313373.com/SyndicationService.asmx/GetEntryCommentsRss?guid=20</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
     On Wednesday night I learned a pretty cool trick at the .NET
Usergroup meeting when Jon von Gillern was giving his presentation on RegEx. 
When selecting text in some applications like Visual Studio if you hold down the ALT
key you can select a vertical column.
</p>
        <p>
          <img alt="Selected Vertical Column" src="http://www.ctrlalt313373.com/Portals/0/BlogPostImages/VerticalColumnSelect.JPG" />
        </p>
        <p>
 
</p>
        <p>
     This is one of those things that you would probably never
know about unless someone told you, so now you know.
</p>
        <img width="0" height="0" src="http://weblog.ctrlalt313373.com/aggbug.ashx?id=20" />
      </body>
      <title>Selecting a Vertical Column</title>
      <guid isPermaLink="false">http://weblog.ctrlalt313373.com/PermaLink,guid,20.aspx</guid>
      <link>http://weblog.ctrlalt313373.com/2007/07/13/SelectingAVerticalColumn.aspx</link>
      <pubDate>Fri, 13 Jul 2007 10:00:00 GMT</pubDate>
      <description>&lt;p&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; On Wednesday night I learned a pretty cool trick at the .NET
Usergroup meeting when Jon von Gillern was giving his presentation on RegEx.&amp;nbsp;
When selecting text in some applications like Visual Studio if you hold down the ALT
key you can select a vertical column.
&lt;/p&gt;
&lt;p&gt;
&lt;img alt="Selected Vertical Column" src="http://www.ctrlalt313373.com/Portals/0/BlogPostImages/VerticalColumnSelect.JPG" /&gt;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; This is one of those things that you would probably never
know about unless someone told you, so now you know.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://weblog.ctrlalt313373.com/aggbug.ashx?id=20" /&gt;</description>
      <comments>http://weblog.ctrlalt313373.com/CommentView,guid,20.aspx</comments>
      <category>Original Posts</category>
    </item>
    <item>
      <trackback:ping>http://weblog.ctrlalt313373.com/Trackback.aspx?guid=19</trackback:ping>
      <pingback:server>http://weblog.ctrlalt313373.com/pingback.aspx</pingback:server>
      <pingback:target>http://weblog.ctrlalt313373.com/PermaLink,guid,19.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://weblog.ctrlalt313373.com/CommentView,guid,19.aspx</wfw:comment>
      <wfw:commentRss>http://weblog.ctrlalt313373.com/SyndicationService.asmx/GetEntryCommentsRss?guid=19</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
    If you haven't been keeping an eye on Google labs then you have
missed the new entry of <a href="http://labs.google.com/goog411/">Google 411</a>. 
Simply call 1-800-GOOG-411 and get business directory listing for any city and state. 
I have tried it several times and it works fairly well.  It free and doesn't
even have any ads so it's hard to complain about it.  It's all based on voice
prompts and will even dial the number for you. (This means be careful if you're goofing
around and looking up things like the White House.) Currently it just has business
listings, but I hope that they will soon add listings for people. As far as I am aware
this is Google's first step out of the computer world and into a seperate type of
market.  Atleast as far as I know everything else at Google you access with a
computer.  The arena makes complete sense for Google though since it is all about
data and they have lots of it.  Where I would really like to see Google go next
is tv listings.  It's all just data as well and with <a href="http://labs.zap2it.com/ztvws/ztvws_login/1,1059,TMS01-1,00.html">Zap2it</a> not
providing a free feed after Sept 1st it leaves a hole in the US market to be filled. 
GIve Google 411 a try and let me know what you think.
</p>
        <img width="0" height="0" src="http://weblog.ctrlalt313373.com/aggbug.ashx?id=19" />
      </body>
      <title>Google 411</title>
      <guid isPermaLink="false">http://weblog.ctrlalt313373.com/PermaLink,guid,19.aspx</guid>
      <link>http://weblog.ctrlalt313373.com/2007/07/04/Google411.aspx</link>
      <pubDate>Wed, 04 Jul 2007 10:00:00 GMT</pubDate>
      <description>&lt;p&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; If you haven't been keeping an eye on Google labs then you have
missed the new entry of &lt;a href="http://labs.google.com/goog411/"&gt;Google 411&lt;/a&gt;.&amp;nbsp;
Simply call 1-800-GOOG-411 and get business directory listing for any city and state.&amp;nbsp;
I have tried it several times and it works fairly well.&amp;nbsp; It free and doesn't
even have any ads so it's hard to complain about it.&amp;nbsp; It's all based on voice
prompts and will even dial the number for you. (This means be careful if you're goofing
around and looking up things like the White House.) Currently it just has business
listings, but I hope that they will soon add listings for people. As far as I am aware
this is Google's first step out of the computer world and into a seperate type of
market.&amp;nbsp; Atleast as far as I know everything else at Google you access with a
computer.&amp;nbsp; The arena makes complete sense for Google though since it is all about
data and they have lots of it.&amp;nbsp; Where I would really like to see Google go next
is tv listings.&amp;nbsp; It's all just data as well and with &lt;a href="http://labs.zap2it.com/ztvws/ztvws_login/1,1059,TMS01-1,00.html"&gt;Zap2it&lt;/a&gt; not
providing a free feed after Sept 1st it leaves a hole in the US market to be filled.&amp;nbsp;
GIve Google 411 a try and let me know what you think.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://weblog.ctrlalt313373.com/aggbug.ashx?id=19" /&gt;</description>
      <comments>http://weblog.ctrlalt313373.com/CommentView,guid,19.aspx</comments>
      <category>Original Posts</category>
    </item>
    <item>
      <trackback:ping>http://weblog.ctrlalt313373.com/Trackback.aspx?guid=18</trackback:ping>
      <pingback:server>http://weblog.ctrlalt313373.com/pingback.aspx</pingback:server>
      <pingback:target>http://weblog.ctrlalt313373.com/PermaLink,guid,18.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://weblog.ctrlalt313373.com/CommentView,guid,18.aspx</wfw:comment>
      <wfw:commentRss>http://weblog.ctrlalt313373.com/SyndicationService.asmx/GetEntryCommentsRss?guid=18</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
    If you've been watching closely today you saw that Google acquired <a href="http://www.grandcentral.com">GrandCentral.com</a>. 
This site allows to get a phone number and then have that number routed to any number
of other phone numbers you want such as cell, work, or home depending on rules you
define.  It has a host of other features as well such as recording the conversation
and sending individuals you're trying to dodge directly to voicemail.  I came
across GrandCentral a few months ago and have been tempted to try it out, but I haven't
had a chance to. If you're using it, let me know what you think about it. 
</p>
        <img width="0" height="0" src="http://weblog.ctrlalt313373.com/aggbug.ashx?id=18" />
      </body>
      <title>Google Just Got Bigger</title>
      <guid isPermaLink="false">http://weblog.ctrlalt313373.com/PermaLink,guid,18.aspx</guid>
      <link>http://weblog.ctrlalt313373.com/2007/07/02/GoogleJustGotBigger.aspx</link>
      <pubDate>Mon, 02 Jul 2007 11:00:00 GMT</pubDate>
      <description>&lt;p&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; If you've been watching closely today you saw that Google acquired &lt;a href="http://www.grandcentral.com"&gt;GrandCentral.com&lt;/a&gt;.&amp;nbsp;
This site allows to get a phone number and then have that number routed to any number
of other phone numbers you want such as cell, work, or home depending on rules you
define.&amp;nbsp; It has a host of other features as well such as recording the conversation
and sending individuals you're trying to dodge directly to voicemail.&amp;nbsp; I came
across GrandCentral a few months ago and have been tempted to try it out, but I haven't
had a chance to. If you're using it, let me know what you think about it.&amp;nbsp;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://weblog.ctrlalt313373.com/aggbug.ashx?id=18" /&gt;</description>
      <comments>http://weblog.ctrlalt313373.com/CommentView,guid,18.aspx</comments>
      <category>Original Posts</category>
    </item>
    <item>
      <trackback:ping>http://weblog.ctrlalt313373.com/Trackback.aspx?guid=17</trackback:ping>
      <pingback:server>http://weblog.ctrlalt313373.com/pingback.aspx</pingback:server>
      <pingback:target>http://weblog.ctrlalt313373.com/PermaLink,guid,17.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://weblog.ctrlalt313373.com/CommentView,guid,17.aspx</wfw:comment>
      <wfw:commentRss>http://weblog.ctrlalt313373.com/SyndicationService.asmx/GetEntryCommentsRss?guid=17</wfw:commentRss>
      <title>Building and Testing Your Connection Strings</title>
      <guid isPermaLink="false">http://weblog.ctrlalt313373.com/PermaLink,guid,17.aspx</guid>
      <link>http://weblog.ctrlalt313373.com/2007/06/28/BuildingAndTestingYourConnectionStrings.aspx</link>
      <pubDate>Thu, 28 Jun 2007 10:00:00 GMT</pubDate>
      <description>&lt;p style="text-indent: 0.5in;" class="MsoNormal"&gt;
I decided to repost one of my original blog posts on how to easily build and test
your connection strings that was quite popular and somehow lost during the transition
to the new site.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;This method is fairly simple and I use
it all the time when I need to build or test out a new connection string.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;The
first thing you need to do is create a new empty file and call it Test.udl.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;Normally
I use Notepad to do this, but you can use anything you want.
&lt;/p&gt;
&lt;p style="text-indent: 0.5in;" class="MsoNormal"&gt;
Once you have done this your file will display the computer icon associated with .udl
files and if you double click on the file it will open up the Data Link Properties
window.
&lt;/p&gt;
&lt;p style="text-indent: 0.5in;" class="MsoNormal"&gt;
&lt;img width="250" height="312" alt="Data Link Properties Window" src="http://www.ctrlalt313373.com/Portals/0/BlogPostImages/connectionstring.JPG" /&gt;
&lt;/p&gt;
&lt;p style="text-indent: 0.5in;" class="MsoNormal"&gt;
&lt;span style=""&gt;
&lt;!--[if gte vml 1]&gt;&lt;v:shapetype
id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t"
path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"&gt;
&lt;v:stroke joinstyle="miter" /&gt;
&lt;v:formulas&gt;
&lt;v:f eqn="if lineDrawn pixelLineWidth 0" /&gt;
&lt;v:f eqn="sum @0 1 0" /&gt;
&lt;v:f eqn="sum 0 0 @1" /&gt;
&lt;v:f eqn="prod @2 1 2" /&gt;
&lt;v:f eqn="prod @3 21600 pixelWidth" /&gt;
&lt;v:f eqn="prod @3 21600 pixelHeight" /&gt;
&lt;v:f eqn="sum @0 0 1" /&gt;
&lt;v:f eqn="prod @6 1 2" /&gt;
&lt;v:f eqn="prod @7 21600 pixelWidth" /&gt;
&lt;v:f eqn="sum @8 21600 0" /&gt;
&lt;v:f eqn="prod @7 21600 pixelHeight" /&gt;
&lt;v:f eqn="sum @10 21600 0" /&gt;
&lt;/v:formulas&gt;
&lt;v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect" /&gt;
&lt;o:lock v:ext="edit" aspectratio="t" /&gt;
&lt;/v:shapetype&gt;&lt;v:shape id="Picture_x0020_1" o:spid="_x0000_i1025" type="#_x0000_t75"
style='width:254.25pt;height:318pt;visibility:visible;mso-wrap-style:square'&gt;
&lt;v:imagedata src="file:///C:\DOCUME~1\dosborn\LOCALS~1\Temp\msohtmlclip1\01\clip_image001.png"
o:title="" /&gt;
&lt;/v:shape&gt;&lt;![endif]--&gt;
&lt;!--[if !vml]--&gt;
&lt;!--[endif]--&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p style="text-indent: 0.5in;" class="MsoNormal"&gt;
Next, you need to fill out your connection information including provider, server,
database, and login information.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;In order to properly
get your connection string you will need to check the allow saving password box.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;At
this point you can click the test connection button to verify that the connection
is successful.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;If it is not, you can continue to make
adjustments to the Data Link Properties window until it is.
&lt;/p&gt;
&lt;p style="text-indent: 0.5in;" class="MsoNormal"&gt;
Finally, click OK to save the file, and open up the .udl file using Notepad.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;If
you did check the allow saving password box you will be cautioned about the security
risk of saving the password.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;Once you&amp;rsquo;ve opened
the file you will see something similar to the follow:
&lt;/p&gt;
&lt;p style="text-indent: 0.5in;" class="MsoNormal"&gt;
&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;
&lt;/p&gt;
&lt;p style="text-indent: 0.5in;" class="MsoNormal"&gt;
&lt;span style="font-size: 8pt; line-height: 115%; color: red;"&gt;[oledb]&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="text-indent: 0.5in;" class="MsoNormal"&gt;
&lt;span style="font-size: 8pt; line-height: 115%; color: red;"&gt;; Everything after this
line is an OLE DB initstring&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="text-indent: 0.5in;" class="MsoNormal"&gt;
&lt;span style="font-size: 8pt; line-height: 115%; color: red;"&gt;Provider=SQLOLEDB.1;Password=yourpassword;Persist
Security Info=True;User ID=sa;Initial Catalog=TimeTracker;Data Source=WDMPDC01&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="text-indent: 0.5in;" class="MsoNormal"&gt;
You have now created your connection string and can copy and paste this into your
application.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;This is also an excellent way of testing
connectivity issues from individual computers.
&lt;/p&gt;
&lt;p style="text-indent: 0.5in;" class="MsoNormal"&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p style="text-indent: 0.5in;" class="MsoNormal"&gt;
&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;
&lt;/p&gt;
&lt;p style="text-indent: 0.5in;" class="MsoNormal"&gt;
&lt;em&gt;
&lt;o:p&gt;Did you find this posting helpful?&amp;nbsp; Please let me know by posting a comment.&lt;/o:p&gt;
&lt;/em&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://weblog.ctrlalt313373.com/aggbug.ashx?id=17" /&gt;</description>
      <comments>http://weblog.ctrlalt313373.com/CommentView,guid,17.aspx</comments>
      <category>Original Posts</category>
    </item>
    <item>
      <trackback:ping>http://weblog.ctrlalt313373.com/Trackback.aspx?guid=16</trackback:ping>
      <pingback:server>http://weblog.ctrlalt313373.com/pingback.aspx</pingback:server>
      <pingback:target>http://weblog.ctrlalt313373.com/PermaLink,guid,16.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://weblog.ctrlalt313373.com/CommentView,guid,16.aspx</wfw:comment>
      <wfw:commentRss>http://weblog.ctrlalt313373.com/SyndicationService.asmx/GetEntryCommentsRss?guid=16</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <title>A wHOLE Lot of ADD Going On</title>
      <guid isPermaLink="false">http://weblog.ctrlalt313373.com/PermaLink,guid,16.aspx</guid>
      <link>http://weblog.ctrlalt313373.com/2007/06/22/AWHOLELotOfADDGoingOn.aspx</link>
      <pubDate>Fri, 22 Jun 2007 11:00:00 GMT</pubDate>
      <description>&lt;p style="text-indent: 0.5in;" class="MsoNormal"&gt;
Scott Hanselman hit the nail on the head with his recent &lt;a href="http://www.hanselman.com/blog/ADDAndFlamingPotatoDevelopment.aspx"&gt;post&lt;/a&gt;.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;It
gave me quite the laugh, but unfortunately it is so true (Just like when I watch Office
Space).&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;I was told the other day by a coworker that I
over engineered a solution because I used an httphandler instead of just making a
page.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;Anyone with a small understanding of ASP.NET should
realize that using an httphandler when no content needs to be display is going to
be more efficient.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;This &amp;ldquo;page&amp;rdquo; was going to
be hit about every time someone accessed the portal and from what I have come across
using an httphandler will increase performance by 5%-10%.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;Considering
the development time was only increased by the one minute or so that it took to add
the proper section to the web.config I would have to say that in this scenario the
httphandler was the best way to go and I think that the solution could only be considered
&amp;ldquo;over engineered&amp;rdquo; if you don&amp;rsquo;t understand it.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;Anyways,
I&amp;rsquo;m beginning to think there is a case of ADD going on in my new environment.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://weblog.ctrlalt313373.com/aggbug.ashx?id=16" /&gt;</description>
      <comments>http://weblog.ctrlalt313373.com/CommentView,guid,16.aspx</comments>
      <category>Original Posts</category>
    </item>
    <item>
      <trackback:ping>http://weblog.ctrlalt313373.com/Trackback.aspx?guid=13</trackback:ping>
      <pingback:server>http://weblog.ctrlalt313373.com/pingback.aspx</pingback:server>
      <pingback:target>http://weblog.ctrlalt313373.com/PermaLink,guid,13.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://weblog.ctrlalt313373.com/CommentView,guid,13.aspx</wfw:comment>
      <wfw:commentRss>http://weblog.ctrlalt313373.com/SyndicationService.asmx/GetEntryCommentsRss?guid=13</wfw:commentRss>
      <title>Using Subversion</title>
      <guid isPermaLink="false">http://weblog.ctrlalt313373.com/PermaLink,guid,13.aspx</guid>
      <link>http://weblog.ctrlalt313373.com/2007/06/17/UsingSubversion.aspx</link>
      <pubDate>Sun, 17 Jun 2007 10:00:00 GMT</pubDate>
      <description>&lt;p class="MsoNormal" style="text-indent: 0.5in;"&gt;
Like I said in an earlier post I&amp;rsquo;m currently working on a side project with
a couple former coworkers that I hope with become a success.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;This
project has turned my dining room table into an ad hoc office several evening each
week and caused the need to setup a development infrastructure to support the project
with the backbone of that being the source control repository.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;I
decided to use &lt;a href="http://subversion.tigris.org/"&gt;Subversion&lt;/a&gt; for the source
control repository for the initial reason that it was free, but also because it seems
to be fairly highly regarded in the community.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;I&amp;rsquo;ve
used both Visual SourceSafe 6.0 and 2005 in the past and whereas I&amp;rsquo;ve never
had any direct complaints with VSS it did always seem to be a bit of a task getting
things setup initially when starting a project.
&lt;/p&gt;
&lt;p class="MsoNormal" style="text-indent: 0.5in;"&gt;
Subversion is working fairly well for us.&lt;span style=""&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Because
we cannot always get together to work on the project I have http access setup and
my partners can very easily sync their source code over the Internet.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;Subversion
integrates nicely with &lt;a href="http://httpd.apache.org/"&gt;Apache&lt;/a&gt; web server to
do this.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;Let me point out though that I have all this
running on Windows, not Linux.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;There are Windows versions
of both Subversion and Apache.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;For the client side of
things we are using both &lt;a href="http://tortoisesvn.tigris.org/"&gt;TortoiseSVN&lt;/a&gt; and &lt;a href="http://ankhsvn.tigris.org/"&gt;AnkhSvn&lt;/a&gt;.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;TortoiseSVN
integrates directly into Explorer and is handy for setting up new projects and handling
the tasks at the file system level.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;AnkhSvn is an add-on
to Visual Studio that integrates Subversion tasks into the right-click menu of Solution
Explorer.
&lt;/p&gt;
&lt;p class="MsoNormal" style="text-indent: 0.5in;"&gt;
Anyways my goal in this post is to help direct anyone who is Googling trying to setup
Subversion get going in the right direct.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;Ralph Willgos
put together a great article on &lt;a href="http://www.codeproject.com/aspnet/Subversion.asp"&gt;Code
Project&lt;/a&gt; walking through the steps of getting everything setup so I will not bother
rewriting them.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;It is a little old and I skipped the steps
of setting up IIS and Visual Studio 2003, but the rest of the steps apply.&lt;span style=""&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;I
will caution you on a couple things.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;First make sure you
are using the 2.0.x version of Apache, not 2.2.x and not 1.x.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;From
my understanding and experience Subversion will only work with the 2.0.x version.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;The
other thing I will caution you on is to not use the download links that Ralph provides.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;They
have become out of date as newer versions have been released.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;I
ran into very cryptic error messages when I had different versions of Subversion and
TortoiseSVN trying to talk to each other and this caused several headaches.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;To
get the files simply go to the links that I have provided and grab the latest versions.
&lt;/p&gt;
&lt;p class="MsoNormal" style="text-indent: 0.5in;"&gt;
That&amp;rsquo;s about it.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;Feel free to drop me a line if
you get stuck with Subversion and I will try to help you out.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;Also,
I&amp;rsquo;d like to read what everyone else has to say about source control in general
and what they think about specific products so feel free to post a comment with your
experiences.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;I&amp;rsquo;m also running a continuous integration
server for our project, but I will go into that in a later post.
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://weblog.ctrlalt313373.com/aggbug.ashx?id=13" /&gt;</description>
      <comments>http://weblog.ctrlalt313373.com/CommentView,guid,13.aspx</comments>
      <category>Original Posts</category>
    </item>
    <item>
      <trackback:ping>http://weblog.ctrlalt313373.com/Trackback.aspx?guid=12</trackback:ping>
      <pingback:server>http://weblog.ctrlalt313373.com/pingback.aspx</pingback:server>
      <pingback:target>http://weblog.ctrlalt313373.com/PermaLink,guid,12.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://weblog.ctrlalt313373.com/CommentView,guid,12.aspx</wfw:comment>
      <wfw:commentRss>http://weblog.ctrlalt313373.com/SyndicationService.asmx/GetEntryCommentsRss?guid=12</wfw:commentRss>
      <title>The Podcasts You Should Be Listening To</title>
      <guid isPermaLink="false">http://weblog.ctrlalt313373.com/PermaLink,guid,12.aspx</guid>
      <link>http://weblog.ctrlalt313373.com/2007/06/13/ThePodcastsYouShouldBeListeningTo.aspx</link>
      <pubDate>Wed, 13 Jun 2007 11:00:00 GMT</pubDate>
      <description>&lt;div style="margin: 0in 0in 0pt; text-indent: 0.5in"&gt;Well I&amp;rsquo;ve definitely by
slacking on my blog posts and I&amp;rsquo;m sure my frequent visitors have been a little
disappointed in me.&amp;nbsp;I have managed to get a new style to the site up and I am
still trying to get all the content migrated over.
&lt;/div&gt;
&lt;div style="margin: 0in 0in 0pt; text-indent: 0.5in"&gt;It&amp;rsquo;s been a chaotic few
months for me as I unfortunately have been forced onto a new career path.&amp;nbsp;Professional
Edge closed its doors recently due to what I have been told was a large gap in the
sales pipeline.&amp;nbsp;I really enjoyed being a consultant there and was disappointed
to leave behind the environment and the individuals I worked with.&amp;nbsp;The sudden
change has forced me back into the cooperate environment which strangely enough I
swore I would never go back to.
&lt;/div&gt;
&lt;div style="margin: 0in 0in 0pt; text-indent: 0.5in"&gt;Apparently the job market right
now it very hot for .NET developers as I had several offers for development positions.&amp;nbsp;The
one thing I did notice from talking with potential employers is that there are definitely
what I would consider a lot of bad practices going on.&amp;nbsp;This includes things ranging
from not using source control, to poor architecture (or none at all), to even the
production database being the same as the test database.
&lt;/div&gt;
&lt;div style="margin: 0in 0in 0pt; text-indent: 0.5in"&gt;Anyways, while I feel out the
cooperate environment in my new job I have also partnered with two other former Professional
Edge employees to work on a project that we feel there is a business need for so I&amp;rsquo;ve
been putting in some long days lately and probably will be for a while.
&lt;/div&gt;
&lt;div style="margin: 0in 0in 0pt; text-indent: 0.5in"&gt;On completely another matter,
and to keep this blog post useful, I wanted to post the links to the three podcasts
that I make a point of listening to every week.&amp;nbsp;I guarantee that &amp;nbsp;you would
benefit from listening to them as well.&amp;nbsp;
&lt;/div&gt;
&lt;div style="margin: 0in 0in 0pt; text-indent: 0.5in"&gt;The first one is &lt;a href="http://www.hanselminutes.com/"&gt;Hanselminutes&lt;/a&gt; by
Scott Hanselman.&amp;nbsp;Scott&amp;rsquo;s podcast is excellent and covers a wide range of
technology topics.&amp;nbsp;He normally covers something related to Microsoft development,
but sometimes like today, he talks about the latest tech items that are out, such
as &lt;a href="http://www.microsoft.com/surface/"&gt;Microsoft Surface&lt;/a&gt;.&amp;nbsp;The best
thing about Scott is that when listening to his podcast you feel like you&amp;rsquo;ve
sat down with a friend to discuss technology over a beer. (Scott, I&amp;rsquo;d love to
buy you a beer sometime.)
&lt;/div&gt;
&lt;div style="margin: 0in 0in 0pt; text-indent: 0.5in"&gt;The second one is &lt;a href="http://www.dotnetrocks.com/"&gt;.Net
Rocks&lt;/a&gt; by Richard Campbell and Carl Franklin.&amp;nbsp;Richard and Carl do a great
job of pulling in the top .Net people to interview and do a great job exploring two
different topics in two shows each week.&amp;nbsp;If you&amp;rsquo;re not listening to this
one then I don&amp;rsquo;t know how you can call yourself a .Net developer.&amp;nbsp;
&lt;/div&gt;
&lt;div style="margin: 0in 0in 0pt; text-indent: 0.5in"&gt;The last one is &lt;a href="http://www.runasradio.com/"&gt;RunAs
Radio&lt;/a&gt; with Richard Campbell and Greg Hughes.&amp;nbsp;Whereas this podcast doesn&amp;rsquo;t
cover .Net it does cover a lot of technologies, both hardware and software that you&amp;rsquo;ll
be interacting with and integrating with as a developer.&amp;nbsp;Today&amp;rsquo;s podcast
was on the latest version of IIS which every ASP.Net developer will be working with
in the future.
&lt;/div&gt;
&lt;div style="margin: 0in 0in 0pt; text-indent: 0.5in"&gt;&amp;nbsp;Listen to these podcasts!
They will keep you informed of what is going on in the .NET community and in technology
in general.&amp;nbsp;They all add up to about three hours a week so I normally have plenty
of time to listen to them while I am exercising.&amp;nbsp;Just to reiterate you are a
fool if you are not listening to these podcasts.&amp;nbsp;They are a fast and easy way
to try and stay up to date on what is out there and what you should be investigating
further.&amp;nbsp;Technology is changing so rapidly that it is impossible to know what
is all out there, let alone learn it all, so I find that listening to these allows
me to found out what is there and filter out what I want to explore further.
&lt;/div&gt;
&lt;div style="margin: 0in 0in 0pt; text-indent: 0.5in"&gt;That&amp;rsquo;s about it for now.&amp;nbsp;I
wish all my former coworkers and friends from Professional Edge the best of luck in
whatever they end up doing.&amp;nbsp;As for everyone else, drop me a line if you want
to contract out some development work to me.
&lt;/div&gt;
&lt;img width="0" height="0" src="http://weblog.ctrlalt313373.com/aggbug.ashx?id=12" /&gt;</description>
      <comments>http://weblog.ctrlalt313373.com/CommentView,guid,12.aspx</comments>
      <category>Original Posts</category>
    </item>
    <item>
      <trackback:ping>http://weblog.ctrlalt313373.com/Trackback.aspx?guid=11</trackback:ping>
      <pingback:server>http://weblog.ctrlalt313373.com/pingback.aspx</pingback:server>
      <pingback:target>http://weblog.ctrlalt313373.com/PermaLink,guid,11.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://weblog.ctrlalt313373.com/CommentView,guid,11.aspx</wfw:comment>
      <wfw:commentRss>http://weblog.ctrlalt313373.com/SyndicationService.asmx/GetEntryCommentsRss?guid=11</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Well, I feel it is important to put together a toolkit of controls to use when developing
for a client.  One of the controls I have created is the Textbox Filter Extender
which will allow you to limit a textbox to numeric, alpha, or alphanumeric characters. 
I've post the control for anyone to have access to and use.  Free free to check
it out over in the development tools <a href="http://www.ctrlalt313373.com/LinkClick.aspx?link=61&amp;tabid=54">section</a>.  
If you have any questions, comments, or suggestions for improvements please post them
to the proper <a href="http://www.ctrlalt313373.com/LinkClick.aspx?link=57&amp;tabid=54">forum</a> section.
</p>
        <p>
 
</p>
        <img width="0" height="0" src="http://weblog.ctrlalt313373.com/aggbug.ashx?id=11" />
      </body>
      <title>Filter Textbox Extender</title>
      <guid isPermaLink="false">http://weblog.ctrlalt313373.com/PermaLink,guid,11.aspx</guid>
      <link>http://weblog.ctrlalt313373.com/2007/04/24/FilterTextboxExtender.aspx</link>
      <pubDate>Tue, 24 Apr 2007 11:00:00 GMT</pubDate>
      <description>&lt;p&gt;
Well, I feel it is important to put together a toolkit of controls to use when developing
for a client.&amp;nbsp; One of the controls I have created is the Textbox Filter Extender
which will allow you to limit a textbox to numeric, alpha, or alphanumeric characters.&amp;nbsp;
I've post the control for anyone to have access to and use.&amp;nbsp; Free free to check
it out over in the development tools &lt;a href="http://www.ctrlalt313373.com/LinkClick.aspx?link=61&amp;amp;tabid=54"&gt;section&lt;/a&gt;.&amp;nbsp;&amp;nbsp;
If you have any questions, comments, or suggestions for improvements please post them
to the proper &lt;a href="http://www.ctrlalt313373.com/LinkClick.aspx?link=57&amp;amp;tabid=54"&gt;forum&lt;/a&gt; section.
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://weblog.ctrlalt313373.com/aggbug.ashx?id=11" /&gt;</description>
      <comments>http://weblog.ctrlalt313373.com/CommentView,guid,11.aspx</comments>
      <category>Original Posts</category>
    </item>
    <item>
      <trackback:ping>http://weblog.ctrlalt313373.com/Trackback.aspx?guid=10</trackback:ping>
      <pingback:server>http://weblog.ctrlalt313373.com/pingback.aspx</pingback:server>
      <pingback:target>http://weblog.ctrlalt313373.com/PermaLink,guid,10.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://weblog.ctrlalt313373.com/CommentView,guid,10.aspx</wfw:comment>
      <wfw:commentRss>http://weblog.ctrlalt313373.com/SyndicationService.asmx/GetEntryCommentsRss?guid=10</wfw:commentRss>
      <title>Passed! 70-228 - Administrating Microsoft SQL Server 2000 System Administration</title>
      <guid isPermaLink="false">http://weblog.ctrlalt313373.com/PermaLink,guid,10.aspx</guid>
      <link>http://weblog.ctrlalt313373.com/2007/03/12/Passed70228AdministratingMicrosoftSQLServer2000SystemAdministration.aspx</link>
      <pubDate>Mon, 12 Mar 2007 11:00:00 GMT</pubDate>
      <description>&lt;p span=""&gt;
Well I passed the 70-228 exam which means I am one test away from my MCDBA.&amp;nbsp;
The best part of it is that I am done with the SQL tests so now I get to focus on
what I prefer more, which is development.&amp;nbsp; To study I used the Microsoft Press
book: &lt;a href="http://www.amazon.com/s/ref=nb_ss_gw/104-9605424-0787107?url=search-alias%3Daps&amp;amp;field-keywords=70-228&amp;amp;Go.x=16&amp;amp;Go.y=11"&gt;&lt;font color="#0000cc"&gt;MCSA/MCSE/MCDBA
Self Paced Training Kit: Microsoft SQL Server 2000 System Administration&lt;/font&gt;&lt;/a&gt;.&amp;nbsp;
I selected this book simply because it appeared to be the best of the poor quality
of books out there.&amp;nbsp; It was a rather boring read, and the hands on training involved
running a bunch of prewritten scripts that were sometimes not explained very well.&amp;nbsp;
I passed though, which is what matters.&lt;o:p&gt;&lt;/o:p&gt;
&lt;/p&gt;
&lt;p span=""&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;What I have decided though is that instead of providing me with
an evaluation copy of SQL Server 2000 (or for that fact the software for what ever
test&amp;nbsp;you may be studying for) the publisher should provide the reader with a
virtual pc image of what is required for the test.&amp;nbsp; For example all of the exercises
in this book expected SQL Server 2000 running in a domain with a specific domain/computer
name.&amp;nbsp; Also, several exercises required specific domain users be setup.&amp;nbsp;
I would assume that most people do not have a setup like this unless they are studying
on company time, and even if I did have a setup like this I wouldn't want to be messing
it up adding unneccessary users for use with the exercises.&amp;nbsp; Now that Virtual
PC is free it would be great for this particular test to have been provided with a
virtual image of Windows Server 2003 (feel free to have it expire in 6 months like
it would if I downloaded the eval copy) along with the install files for SQL Server
2000. (For this particular test installing and setup are part of the test hence not
having the software already installed.&amp;nbsp; For the 70-229 test the server could
already be installed as that is out of scope of the test.)&amp;nbsp; The server could
then be preconfigured with the proper naming conventions and users which the setup
of is completely out of the scope of the test.&amp;nbsp; This would allow the user to
focus more time on the topics covered in the exam and not on the environment.&amp;nbsp;
I would have to think that something like this would make all of us very happy.&amp;nbsp;
Let me know what you think!&lt;o:p&gt;&lt;/o:p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://weblog.ctrlalt313373.com/aggbug.ashx?id=10" /&gt;</description>
      <comments>http://weblog.ctrlalt313373.com/CommentView,guid,10.aspx</comments>
      <category>Original Posts</category>
    </item>
    <item>
      <trackback:ping>http://weblog.ctrlalt313373.com/Trackback.aspx?guid=9</trackback:ping>
      <pingback:server>http://weblog.ctrlalt313373.com/pingback.aspx</pingback:server>
      <pingback:target>http://weblog.ctrlalt313373.com/PermaLink,guid,9.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://weblog.ctrlalt313373.com/CommentView,guid,9.aspx</wfw:comment>
      <wfw:commentRss>http://weblog.ctrlalt313373.com/SyndicationService.asmx/GetEntryCommentsRss?guid=9</wfw:commentRss>
      <title>DST DVR</title>
      <guid isPermaLink="false">http://weblog.ctrlalt313373.com/PermaLink,guid,9.aspx</guid>
      <link>http://weblog.ctrlalt313373.com/2007/03/11/DSTDVR.aspx</link>
      <pubDate>Sun, 11 Mar 2007 12:00:00 GMT</pubDate>
      <description>&lt;p class="MsoNormal"&gt;
Well I realize that I have fallen extremely far behind and have not finished my tutorial
on putting together y DVR setup.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;Hopefully I will get
to it someday, but now that the steps are no longer fresh in my head it may not happen
until I need to build a new box.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;If you do have any questions
feel free to post a comment and I&amp;rsquo;ll help you out the best I can.
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
What I will post about are the steps I need to take to update my box for the new DST
settings.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;(I hope the energy savings from the change makes
up for the pain in that it has been, and the old electronic equipment I have that
will now always be off.)
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
First off check to see what your system is currently set to:
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
&lt;span style="color: red;"&gt;#zdump -v /etc/localtime | grep 2007&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
Using this command from root will provide you with the dates your system has set for
daylight savings time.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;If it isn&amp;rsquo;t set to start
in March then continue.
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
Go to the home directory for root, use &amp;lsquo;cd $HOME&amp;rsquo; if you are still logged
in as root and download the patch:
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
&lt;span style="color: red;"&gt;#wget &lt;/span&gt;&lt;a href="http://debian.oregonstate.edu/debian/pool/main/t/tzdata/tzdata_2007b-1_all.deb"&gt;&lt;span style="color: red;"&gt;http://debian.oregonstate.edu/debian/pool/main/t/tzdata/tzdata_2007b-1_all.deb&lt;/span&gt;&lt;/a&gt;&lt;span style="color: red;"&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
Now you just need to install the patch.:
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
&lt;span style="color: red;"&gt;#dpkg --install tzdata_2007b-1_all.deb 
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
Finally, if you run the check again:
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
&lt;span style="color: red;"&gt;#zdump -v /etc/localtime | grep 2007&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
You should get the following output:
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
&lt;span style="color: red;"&gt;Sun Mar 11 07:59:59 2007 UTC = Sun Mar 11 01:59:59 2007
CST isdst=0 gmtoff=-21600&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
&lt;span style="color: red;"&gt;/etc/localtime&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;Sun Mar 11 08:00:00
2007 UTC = Sun Mar 11 03:00:00 2007 CDT isdst=1 gmtoff=-18000&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
&lt;span style="color: red;"&gt;/etc/localtime&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;Sun Nov&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;4
06:59:59 2007 UTC = Sun Nov&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;4 01:59:59 2007 CDT isdst=1
gmtoff=-18000&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
&lt;span style="color: red;"&gt;/etc/localtime&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;Sun Nov&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;4
07:00:00 2007 UTC = Sun Nov&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;4 01:00:00 2007 CST isdst=0
gmtoff=-21600&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
If only it was as easy to do with all my other equipment.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;Specially
thanks to everyone at &lt;a href="http://mysettopbox.tv/phpBB2/viewtopic.php?t=13775&amp;amp;highlight=dst"&gt;the
KnoppMyth Forums&lt;/a&gt; for posting the information on this.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://weblog.ctrlalt313373.com/aggbug.ashx?id=9" /&gt;</description>
      <comments>http://weblog.ctrlalt313373.com/CommentView,guid,9.aspx</comments>
      <category>Original Posts</category>
    </item>
    <item>
      <trackback:ping>http://weblog.ctrlalt313373.com/Trackback.aspx?guid=8</trackback:ping>
      <pingback:server>http://weblog.ctrlalt313373.com/pingback.aspx</pingback:server>
      <pingback:target>http://weblog.ctrlalt313373.com/PermaLink,guid,8.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://weblog.ctrlalt313373.com/CommentView,guid,8.aspx</wfw:comment>
      <wfw:commentRss>http://weblog.ctrlalt313373.com/SyndicationService.asmx/GetEntryCommentsRss?guid=8</wfw:commentRss>
      <title>WWBD</title>
      <guid isPermaLink="false">http://weblog.ctrlalt313373.com/PermaLink,guid,8.aspx</guid>
      <link>http://weblog.ctrlalt313373.com/2007/01/07/WWBD.aspx</link>
      <pubDate>Sun, 07 Jan 2007 13:00:00 GMT</pubDate>
      <description>&lt;p class="MsoNormal"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Well, the guy who has taught me everything I know about .NET, &lt;a href="http://www.dotnetlog.com/"&gt;Bigyan&lt;/a&gt;,
has taken off for a month to go back to 
&lt;st1:country-region w:st="on"&gt;
&lt;st1:place w:st="on"&gt;Nepal&lt;/st1:place&gt;
&lt;/st1:country-region&gt;
to get married, leaving me with some very big shoes to fill while he is gone.&amp;nbsp;
While he is gone I have adopted a new philosophy that I am trying to follow, WWBD,
What Would Bigyan Do?&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; While working on some bug fixes for a web application that we currently
have in pilot testing for a client, I found myself working hard trying to prevent
a post back, which I knew is exactly what Bigyan would do to increase the quality
of the user experience.&amp;nbsp; I needed to create a custom validator in ASP.NET and
could have easily just made it a server side validation, but this would require a
post back before telling the user that there was an input error.&amp;nbsp; The way to
eliminate this post back is to create a client side validation function using&amp;nbsp;
JavaScript. 
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; This first thing that is necessary is to add a CustomValidator
control to your page and to associate it to a control on the page by setting the ControlToValidate
property.&amp;nbsp; 
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Next, I would typically set the text of the CustomValidator control
to an *.&amp;nbsp;&amp;nbsp; This is the text that shows up on the page where the custom validator
exists.&amp;nbsp; I normally position the CustomValidator either next to the control I
am validating or next to the label for the control I am validating.&amp;nbsp; The * then
indicates to the user that there is an error with that field.&amp;nbsp; 
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Following setting the text I set the ErrorMessage property of the
CustomValidator to the error message I want to display.&amp;nbsp; This message will then
appear in the validation summary control if you have placed one on the page.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Now its time to do a little coding.&amp;nbsp; First thing you will
want to do is code up the server side validation for the validator.&amp;nbsp; This part
of the validation is important in case the user's browser doesn't support JavaScript
or the user attempts to bypass the script on the client side.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; In my particular case I was validating a rich textbox control that
was required.&amp;nbsp; In my particular case&amp;nbsp;the control would be blank either if
it was actually blank or if it had &amp;quot;&amp;lt;p&amp;gt;&amp;amp;nbsp&amp;lt;/p&amp;gt;&amp;quot;, hence
I could not just use the RequiredFieldValidator.&amp;nbsp; To code the server side check
you use the ServerValidate event of the CustomValidator control and check the value
property of the args objects that is passed in by the system.&amp;nbsp; Perform your logic
and if the value passes set args.IsValid = True, otherwise set it to False.&amp;nbsp; 
&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: 9pt; color: maroon;"&gt;Protected Sub CustomValidator1_ServerValidate(ByVal
source As System.Object, ByVal args As System.Web.UI.WebControls.ServerValidateEventArgs)
Handles CustomValidator1.ServerValidate&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If String.IsNullOrEmpty(args.Value)
Or args.Value = &amp;quot;&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&amp;quot; Then&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
args.IsValid = False&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
args.IsValid = True&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Sub&lt;/span&gt;&lt;span style="color: maroon;"&gt;
&lt;br /&gt;
&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;This function will then execute when a button that has its CausesValidation
property set equal to true is clicked.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;Then, at any point
in time if you want to check if all the validators on a page are valid you check if
Page.IsValid is equal to true.
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;That&amp;rsquo;s
it for handling the server side validation, but the next step is to handle the client
side validation so that the client is not forced to look at a post back before knowing
that they have an invalid input field.
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;To
handle the client side validation you just need to write a simple JavaScript function
that takes two parameters, sender and args.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;You can then
evaluate args.Value against your logic, and set args.IsValid equal to either true
or false.
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;
&lt;/p&gt;
&lt;p style="" class="MsoNormal"&gt;
&lt;span style="font-size: 8pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Courier New&amp;quot;; color: maroon;"&gt;function
TxtQuestionValidate(sender, args)&lt;/span&gt;&lt;span style="font-size: 9pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="" class="MsoNormal"&gt;
&lt;span style="font-size: 9pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: maroon;"&gt;{ &lt;/span&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="" class="MsoNormal"&gt;
&lt;span style="font-size: 9pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: maroon;"&gt;if
(args.Value == '' || args.Value == '&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;') &lt;/span&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="" class="MsoNormal"&gt;
&lt;span style="font-size: 9pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: maroon;"&gt;{ &lt;/span&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="" class="MsoNormal"&gt;
&lt;span style="font-size: 9pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: maroon;"&gt;args.IsValid
= false; &lt;/span&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="" class="MsoNormal"&gt;
&lt;span style="font-size: 9pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: maroon;"&gt;}&lt;/span&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="" class="MsoNormal"&gt;
&lt;span style="font-size: 9pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: maroon;"&gt;else &lt;/span&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="" class="MsoNormal"&gt;
&lt;span style="font-size: 9pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: maroon;"&gt;{ &lt;/span&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="" class="MsoNormal"&gt;
&lt;span style="font-size: 9pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: maroon;"&gt;args.IsValid
= true;&lt;/span&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="" class="MsoNormal"&gt;
&lt;span style="font-size: 9pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: maroon;"&gt;}&lt;/span&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="" class="MsoNormal"&gt;
&lt;span style="font-size: 9pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: maroon;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p style="" class="MsoNormal"&gt;
&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: maroon;"&gt;
&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="" class="MsoNormal"&gt;
&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: maroon;"&gt;
&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="" class="MsoNormal"&gt;
&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: maroon;"&gt;
&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="text-indent: 0.5in;" class="MsoNormal"&gt;
&lt;span style=""&gt;You have a couple options for placing the javascript function.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;The
simple way would be just to put it right into the .ascx page.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;Whereas
this is easy, I try to steer away from this as you would then need to place this function
in every page where you need it.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;I prefer to write a service
layer function that returns it to me as a string and then insert it into the page
on the page load event as follows:&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="" class="MsoNormal"&gt;
&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;
&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p style="" class="MsoNormal"&gt;
&lt;span style="font-size: 9pt; font-family: &amp;quot;Courier New&amp;quot;; color: maroon;"&gt;Page.ClientScript.RegisterClientScriptBlock(Me.GetType(),
&amp;quot;TxtQuestionValidate&amp;quot;, Services.GeneralService.GetTxtBoxValidateJavascript(),
True)&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Finally,
you need to tell Studio to use this function as the client side script so on your
custom validation control simple set the ClientValidationFunction to the name of your
JavaScript function.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;You now have a custom validation
with a client side script to prevent a post back, which I am pretty sure is what Bigyan
would do.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;I hope he&amp;rsquo;s having a good time in 
&lt;st1:country-region w:st="on"&gt;
&lt;st1:place w:st="on"&gt;Nepal&lt;/st1:place&gt;
&lt;/st1:country-region&gt;
, but I&amp;rsquo;ll be happy to have him back in 25 days.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;Its
boring going to &lt;a href="http://www.starsbucks.com/"&gt;Starbucks&lt;/a&gt; by myself!
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
&lt;span style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://weblog.ctrlalt313373.com/aggbug.ashx?id=8" /&gt;</description>
      <comments>http://weblog.ctrlalt313373.com/CommentView,guid,8.aspx</comments>
      <category>Original Posts</category>
    </item>
    <item>
      <trackback:ping>http://weblog.ctrlalt313373.com/Trackback.aspx?guid=7</trackback:ping>
      <pingback:server>http://weblog.ctrlalt313373.com/pingback.aspx</pingback:server>
      <pingback:target>http://weblog.ctrlalt313373.com/PermaLink,guid,7.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://weblog.ctrlalt313373.com/CommentView,guid,7.aspx</wfw:comment>
      <wfw:commentRss>http://weblog.ctrlalt313373.com/SyndicationService.asmx/GetEntryCommentsRss?guid=7</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p class="MsoNormal">
     Well, I've been slacking on getting the next blog post out
on the steps I used to build my DVR.  I will hopefully get time to post the next
steps soon, but for now I just wanted to post an updated on my hardware setup. 
Like I had posted earlier, I been wanting to increase the memory in the computer. 
It started out with 512MB which was working fine, but I am sure the system would suffer
if I was recording two shows and watching a recording.  I went ahead and added
1GB more of memory, giving me a total of 1.5GB.  I didn't do any specific benchmark
testing, but the picture did seem to look a little better.  I really wanted this
memory boost for when I add an HD tuner card to the system, which I hope to do in
the next couple months.<br />
     The other thing I added was another fan to the system. 
I have been experience system lockups about every 2 to 3 weeks and I think it is because
the system is overheating.  The box lives on the bottom shelf of a wood entertainment
stand so I have a feeling the heat is building up in the enclosed space.  I hope
this extra fan with resolve the issue.<br />
     That's about it for now.<span style="">  </span>For
those of you keeping track of the total investment so far that I have put into the
system, the fan was $2.99 and the memory was $89.99.<span style="">  </span>I
got both from Newegg.com and including shipping they came to $99.27.<span style="">  </span>Hopefully
I'll have time to get the next few DVR steps up soon.
</p>
        <img width="0" height="0" src="http://weblog.ctrlalt313373.com/aggbug.ashx?id=7" />
      </body>
      <title>DVR Update</title>
      <guid isPermaLink="false">http://weblog.ctrlalt313373.com/PermaLink,guid,7.aspx</guid>
      <link>http://weblog.ctrlalt313373.com/2007/01/05/DVRUpdate.aspx</link>
      <pubDate>Fri, 05 Jan 2007 13:00:00 GMT</pubDate>
      <description>&lt;p class="MsoNormal"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Well, I've been slacking on getting the next blog post out
on the steps I used to build my DVR.&amp;nbsp; I will hopefully get time to post the next
steps soon, but for now I just wanted to post an updated on my hardware setup.&amp;nbsp;
Like I had posted earlier, I been wanting to increase the memory in the computer.&amp;nbsp;
It started out with 512MB which was working fine, but I am sure the system would suffer
if I was recording two shows and watching a recording.&amp;nbsp; I went ahead and added
1GB more of memory, giving me a total of 1.5GB.&amp;nbsp; I didn't do any specific benchmark
testing, but the picture did seem to look a little better.&amp;nbsp; I really wanted this
memory boost for when I add an HD tuner card to the system, which I hope to do in
the next couple months.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; The other thing I added was another fan to the system.&amp;nbsp;
I have been experience system lockups about every 2 to 3 weeks and I think it is because
the system is overheating.&amp;nbsp; The box lives on the bottom shelf of a wood entertainment
stand so I have a feeling the heat is building up in the enclosed space.&amp;nbsp; I hope
this extra fan with resolve the issue.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; That's about it for now.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;For
those of you keeping track of the total investment so far that I have put into the
system, the fan was $2.99 and the memory was $89.99.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;I
got both from Newegg.com and including shipping they came to $99.27.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;Hopefully
I'll have time to get the next few DVR steps up soon.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://weblog.ctrlalt313373.com/aggbug.ashx?id=7" /&gt;</description>
      <comments>http://weblog.ctrlalt313373.com/CommentView,guid,7.aspx</comments>
      <category>Original Posts</category>
    </item>
    <item>
      <trackback:ping>http://weblog.ctrlalt313373.com/Trackback.aspx?guid=6</trackback:ping>
      <pingback:server>http://weblog.ctrlalt313373.com/pingback.aspx</pingback:server>
      <pingback:target>http://weblog.ctrlalt313373.com/PermaLink,guid,6.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://weblog.ctrlalt313373.com/CommentView,guid,6.aspx</wfw:comment>
      <wfw:commentRss>http://weblog.ctrlalt313373.com/SyndicationService.asmx/GetEntryCommentsRss?guid=6</wfw:commentRss>
      <title>DVR Part 1</title>
      <guid isPermaLink="false">http://weblog.ctrlalt313373.com/PermaLink,guid,6.aspx</guid>
      <link>http://weblog.ctrlalt313373.com/2006/11/26/DVRPart1.aspx</link>
      <pubDate>Sun, 26 Nov 2006 13:00:00 GMT</pubDate>
      <description>&lt;p style="margin-bottom: 12pt;" class="MsoNormal"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Well, for sometime now I have been working on building a DVR from
a computer.&amp;nbsp; After several months I am finally at a point where I consider the
project done, and I have decided to post a how-to so that others can build one of
their own and hopefully bypass a few of the pitfalls that I hit and benefit from my
time Googling.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; I chose to build my DVR using &lt;a href="http://www.mythtv.org/"&gt;MythTV&lt;/a&gt;,
a Linux DVR platform, and specifically I used the &lt;a href="http://www.mysettopbox.tv/knoppmyth.html"&gt;KnoppMyth&lt;/a&gt; version.&amp;nbsp;
Why didn't I use 
&lt;st1:place w:st="on"&gt;
&lt;st1:placename w:st="on"&gt;Windows&lt;/st1:placename&gt;
&lt;st1:placename w:st="on"&gt;Media&lt;/st1:placename&gt;
&lt;st1:placetype w:st="on"&gt;Center&lt;/st1:placetype&gt;
&lt;/st1:place&gt;
?&amp;nbsp; Well, I'm a big fan of the open source movement, and KnoppMyth offers a wide
variety of features for free.&amp;nbsp; Several co-workers have pointed out that I could
have saved a lot of time and money by either buying a Tivo for about $100 at Best
Buy, or paying an extra few bucks a month and get a DVR through my cable company.&amp;nbsp;
I chose to build my own because it has a lot more functionality than you basic DVR.&amp;nbsp;
I also have the ability to rip my music collection to it as well as my DVD collection.&amp;nbsp;
It has a screen that shows me the weather for my area, as well as a feed reader.&amp;nbsp;
Since its open source there are many add ins for everything you could desire.&amp;nbsp;
I also have the ability to link several of then together (which I plan to do) so that
I can stream shows to different rooms in the house.&amp;nbsp; Not to mention the fact
that since it is a standard computer I can continue to upgrade it as much as I want.&amp;nbsp;
Also, I have no monthly fees so I could rationalize a little more up front cost.&lt;br /&gt;
&amp;nbsp; This is the first of a several part post to walk through the setup and configuration
settings I used for my setup of KnoppMyth.&amp;nbsp; Hopefully it will help others through
the problems I encountered along the way.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; In this first post I would like to list the spec's for my setup
and a few of the requirements that you should take care of before getting started.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; The computer I am using is a &lt;a href="http://h10025.www1.hp.com/ewfrf/wc/prodinfoCategory?product=3184155&amp;amp;lc=en&amp;amp;cc=us&amp;amp;dest_page=prodinfoCategory&amp;amp;tool=prodinfoCategory&amp;amp;query=SR1910NX&amp;amp;dlc=en"&gt;Compaq
Presario SR1910NX&lt;/a&gt; I picked up at CompUSA for $200.&amp;nbsp; The general specs are
as follows:
&lt;/p&gt;
&lt;ul type="disc"&gt;
&lt;li style="" class="MsoNormal"&gt;
Motherboard: Asus A8N-LA&lt;/li&gt;
&lt;li style="" class="MsoNormal"&gt;
Processor: Sempron (P) 3200+ 1.8 GHz&lt;/li&gt;
&lt;li style="" class="MsoNormal"&gt;
Chipset: GeForce 6150 LE&lt;/li&gt;
&lt;li style="" class="MsoNormal"&gt;
Memory: 512 MB&lt;/li&gt;
&lt;li style="" class="MsoNormal"&gt;
Storage: 120 GB SATA 3G&lt;/li&gt;
&lt;li style="" class="MsoNormal"&gt;
Media: CD Writer DVD Combo&lt;/li&gt;
&lt;li style="" class="MsoNormal"&gt;
Sound: Integrated&lt;/li&gt;
&lt;li style="" class="MsoNormal"&gt;
Network: Integrated 10/100 NIC&lt;/li&gt;
&lt;/ul&gt;
&lt;p class="MsoNormal"&gt;
There are no particular reason I picked this computer to use. I actually bought it
to use for a web server, but reallocated it towards this project instead.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;The
one thing you should steer clear from is a VIA chipset.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;Most
of them just don&amp;rsquo;t seem to work with the software.&lt;br /&gt;
The rest of the default specs are fairly standard, but feel free to view the link
above to get all of the other specs.&amp;nbsp;&amp;nbsp; To turn the computer into a DVR I
added several other hardware pieces. The first necessary component is a TV tuner card.&amp;nbsp;
I wanted to be able to record two shows at once, or watch one show and record one
so I got the &lt;a href="http://www.hauppauge.com/pages/products/data_pvr500mce.html"&gt;PVR
500 by Hauppauge&lt;/a&gt;.&amp;nbsp; This is a dual analog tuner built onto one PCI card which
I purchased from &lt;a href="http://www.newegg.com/"&gt;NewEgg&lt;/a&gt; for $144.98 including
shipping. I chose it for the fact that it would only use one expansion slot in my
computer.&amp;nbsp; One problem I ran into with this card is that Hauppauge had recently
switched it to use a Samsung chip which apparently poorly affected the video quality
from previous versions.&amp;nbsp; Thankfully I found a patch that corrected the video
issue and I am happy with the quality now.&amp;nbsp; From my research the single turner
version, the &lt;a href="http://www.hauppauge.com/pages/products/data_pvr150.html"&gt;PVR150&lt;/a&gt; does
not cause the same video issues as the PVR500, but I have not used it.
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
The next necessary addition was a video card.&amp;nbsp; The computer did have integrated
video, but with only VGA out.&amp;nbsp; I added a card with both svideo out and DVI out.&amp;nbsp;
I currently have a 42 inch widescreen HD TV that the DVR is hooked up to.&amp;nbsp; I
am only connected to it by svideo at the moment, but I would eventually like to switch
it over to the DVI.&amp;nbsp; The card I got is an NVIDIA Geforce 6200LE 256MB (128MB
on board) made by &lt;a href="http://www.biostar-usa.com/"&gt;BioStar&lt;/a&gt; with a PCI Express
interface.&amp;nbsp; I also got this from &lt;a href="http://www.newegg.com/Product/Product.asp?Item=N82E16814141034"&gt;NewEgg&lt;/a&gt; for
$41.98 including shipping.&amp;nbsp; I was very happy with the card as it worked right
out of the box without much of any configuration.&amp;nbsp; One thing I learned purchasing
this product is to look at how many MBs are on board.&amp;nbsp; As you can see this card
says it has 256MB.&amp;nbsp; If you look closer you will find that it only has 128MB on
board and it uses system memory for the rest.
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
&lt;br /&gt;
The last piece of hardware I added was a remote.&amp;nbsp; The remote I bought was the
Streamzap PC remote from &lt;a href="http://www.streamzap.com/?ref=gg-s"&gt;Streamzap Inc&lt;/a&gt;.&amp;nbsp;
This remote connects to the computer via USB and worked out of the box. I bought this
remote from &lt;a href="http://www.provantage.com/streamzap-usbir2%7E7STRE001.htm"&gt;Provantage&lt;/a&gt; for
$29.58 including shipping.
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
&lt;br /&gt;
This is currently my entire hardware setup.&amp;nbsp; There are two spots where I would
have made modifications and plan to in the future.&amp;nbsp; The first is more memory.&amp;nbsp;
In my opinion it would be best to have at least 1GB and I plan to go ahead and just
add another 1GB once I find a good deal on it.&amp;nbsp; This will give me a total of
1.5GB of memory.&amp;nbsp; When I am recording I can see that memory usage is maxed so
I think the system would benefit from more memory.&amp;nbsp; The second thing I would
modify is the storage space.&amp;nbsp; I currently have 120GB.&amp;nbsp; This is fine, but
I have to make a point of getting shows deleted promptly.&amp;nbsp; I think it would be
best to have 250GB.&amp;nbsp; With this amount I don't think anyone would have very may
problems unless they are ripping a lot of music and movies to their system.&amp;nbsp;
I plan to add more storage space sometime, but it isn't a major priority.&lt;br /&gt;
The last thing I would like to eventually add is a HD over the air tuner so that I
can record my local channels in HD.&amp;nbsp; These run about $100 and I will post more
specifics about this once I pick one up and get it installed.&lt;br /&gt;
&lt;br /&gt;
The last thing I want to go over are a few pre-installation things that need to be
done.&amp;nbsp; The first is to download and burn the iso for the KnoppMyth install.&amp;nbsp;
The current version which I am using is &lt;a href="http://mysettopbox.tv/knoppmyth.html"&gt;R5D1&lt;/a&gt;.&amp;nbsp;
Download it and burn a bootable installation cd.&amp;nbsp; 
&lt;br /&gt;
&lt;br /&gt;
The second thing you will want to do is sign up for an account on the forums for&lt;a href="http://www.knoppmythwiki.org/index.php?page=info/BugReports"&gt; KnoppMyth&lt;/a&gt;.&amp;nbsp;
I received a lot of help from the users there that was very valuable.&amp;nbsp; The other
place with very helpful information and how-tos is the Wiki.&amp;nbsp; These two places
provide extensive information for setting up a KnoppMyth system.&lt;br /&gt;
&lt;br /&gt;
The last thing you will need do to is sign up and configure you account on &lt;a href="http://labs.zap2it.com/ztvws/ztvws_login/1,1059,TMS01-1,00.html"&gt;Zap2it
Labs&lt;/a&gt;.&amp;nbsp; This is the account your system will use to get its TV listings.&amp;nbsp;
I don't specifically remember what the sign up process is as it has been a long time
since I filled it out, but I don't recall any issues.&amp;nbsp; There is a &lt;a href="http://www.knoppmythwiki.org/index.php?id=KnoppMythInstall"&gt;how-to&lt;/a&gt; on
the Wiki about installing that references using the code 'TGYM-ZKOC-BUTV' so you may
need it, but I don't recall.&lt;br /&gt;
&lt;br /&gt;
That's about it for now.&amp;nbsp; Next time I'll walk through the basics of handling
the install and point out the areas where I ran into some troubles.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://weblog.ctrlalt313373.com/aggbug.ashx?id=6" /&gt;</description>
      <comments>http://weblog.ctrlalt313373.com/CommentView,guid,6.aspx</comments>
      <category>Original Posts</category>
    </item>
    <item>
      <trackback:ping>http://weblog.ctrlalt313373.com/Trackback.aspx?guid=5</trackback:ping>
      <pingback:server>http://weblog.ctrlalt313373.com/pingback.aspx</pingback:server>
      <pingback:target>http://weblog.ctrlalt313373.com/PermaLink,guid,5.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://weblog.ctrlalt313373.com/CommentView,guid,5.aspx</wfw:comment>
      <wfw:commentRss>http://weblog.ctrlalt313373.com/SyndicationService.asmx/GetEntryCommentsRss?guid=5</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p class="MsoNormal">
Well, a couple of days ago I passed the Microsoft 70-229 exam, <a href="http://www.microsoft.com/learning/exams/70-229.asp">Designing
and Implementing Databases with Microsoft SQL Server 2000 Enterprise Edition.</a> 
The book I used to study for this exam was by Microsoft Press, <a href="http://www.amazon.com/MCAD-MCSE-MCDBA-Self-Paced-Training/dp/0735619603/sr=8-1/qid=1159041199/ref=pd_bbs_1/104-3802092-8821511?ie=UTF8&amp;s=books">Microsoft
SQL Server 2000 Database Design and Implementation.</a>  I wasn't very impressed
with this book as it left a bit to be desired.  It seemed to only make reference
to some important items on the test, and it would introduce new items in script examples
with no explanation.  Plus, I found the sample questions in the book not very
reflective of the style of questions on the test.  I realize that it is difficult
to cover the entire topic of SQL databases in one book, but I feel this book could
have done a much better job.  Steer away from it if you can.
</p>
        <img width="0" height="0" src="http://weblog.ctrlalt313373.com/aggbug.ashx?id=5" />
      </body>
      <title>70-229 Passed!</title>
      <guid isPermaLink="false">http://weblog.ctrlalt313373.com/PermaLink,guid,5.aspx</guid>
      <link>http://weblog.ctrlalt313373.com/2006/09/23/70229Passed.aspx</link>
      <pubDate>Sat, 23 Sep 2006 10:00:00 GMT</pubDate>
      <description>&lt;p class="MsoNormal"&gt;
Well, a couple of days ago I passed the Microsoft 70-229 exam, &lt;a href="http://www.microsoft.com/learning/exams/70-229.asp"&gt;Designing
and Implementing Databases with Microsoft SQL Server 2000 Enterprise Edition.&lt;/a&gt;&amp;nbsp;
The book I used to study for this exam was by Microsoft Press, &lt;a href="http://www.amazon.com/MCAD-MCSE-MCDBA-Self-Paced-Training/dp/0735619603/sr=8-1/qid=1159041199/ref=pd_bbs_1/104-3802092-8821511?ie=UTF8&amp;amp;s=books"&gt;Microsoft
SQL Server 2000 Database Design and Implementation.&lt;/a&gt;&amp;nbsp; I wasn't very impressed
with this book as it left a bit to be desired.&amp;nbsp; It seemed to only make reference
to some important items on the test, and it would introduce new items in script examples
with no explanation.&amp;nbsp; Plus, I found the sample questions in the book not very
reflective of the style of questions on the test.&amp;nbsp; I realize that it is difficult
to cover the entire topic of SQL databases in one book, but I feel this book could
have done a much better job.&amp;nbsp; Steer away from it if you can.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://weblog.ctrlalt313373.com/aggbug.ashx?id=5" /&gt;</description>
      <comments>http://weblog.ctrlalt313373.com/CommentView,guid,5.aspx</comments>
      <category>Original Posts</category>
    </item>
    <item>
      <trackback:ping>http://weblog.ctrlalt313373.com/Trackback.aspx?guid=4</trackback:ping>
      <pingback:server>http://weblog.ctrlalt313373.com/pingback.aspx</pingback:server>
      <pingback:target>http://weblog.ctrlalt313373.com/PermaLink,guid,4.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://weblog.ctrlalt313373.com/CommentView,guid,4.aspx</wfw:comment>
      <wfw:commentRss>http://weblog.ctrlalt313373.com/SyndicationService.asmx/GetEntryCommentsRss?guid=4</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p class="MsoNormal">
    If you do anything with computers then you probably get this all
the time.  It seems like once people get a computer, even though they come to
depend on it, they exert very little effort to maintain it, leaving it open to viruses
and spyware.  I always get asked to take a look at these computers and a significant
part of the time this requires the use of the original Windows CD which the owner
never seems to be able to find.  After being stuck at a computer this past Monday
with no way to get it booted and a corrupt dll that needed to be replaced, I decided
that I should start putting together a "tool kit" that I could have ready
to be more prepared for these free service calls.  
<br />
    The first item I have added to my toolkit is <a href="http://www.nu2.nu/pebuilder/">BartPE</a>. 
Run, BartPE, point it at a set of Windows install files and it creates and burns an
ISO to either CD/DVD.  This CD is then a bootable version of Windows that can
be placed into any computer and booted to.  You then have access to a functional
OS with explorer access to the problem computer's original Windows partition. 
BartPE allows you to include many other programs on your bootable OS such as a virus
scanner and Adware which can come it handy when someone hasn't been taking care of
their computer.  I checked several reviews of BartPE and most people gave it
five out of five stars.  I think BartPE is one of the best things I've come across
lately and I plan to make it the first and permanent addition to my "toolbox". 
Feel free to post a comment with anything else you think would make a good addition.
</p>
        <img width="0" height="0" src="http://weblog.ctrlalt313373.com/aggbug.ashx?id=4" />
      </body>
      <title>Nice To Meet You.  Can You Fix My Computer?</title>
      <guid isPermaLink="false">http://weblog.ctrlalt313373.com/PermaLink,guid,4.aspx</guid>
      <link>http://weblog.ctrlalt313373.com/2006/09/08/NiceToMeetYouCanYouFixMyComputer.aspx</link>
      <pubDate>Fri, 08 Sep 2006 10:00:00 GMT</pubDate>
      <description>&lt;p class="MsoNormal"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; If you do anything with computers then you probably get this all
the time.&amp;nbsp; It seems like once people get a computer, even though they come to
depend on it, they exert very little effort to maintain it, leaving it open to viruses
and spyware.&amp;nbsp; I always get asked to take a look at these computers and a significant
part of the time this requires the use of the original Windows CD which the owner
never seems to be able to find.&amp;nbsp; After being stuck at a computer this past Monday
with no way to get it booted and a corrupt dll that needed to be replaced, I decided
that I should start putting together a &amp;quot;tool kit&amp;quot; that I could have ready
to be more prepared for these free service calls.&amp;nbsp; 
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; The first item I have added to my toolkit is &lt;a href="http://www.nu2.nu/pebuilder/"&gt;BartPE&lt;/a&gt;.&amp;nbsp;
Run, BartPE, point it at a set of Windows install files and it creates and burns an
ISO to either CD/DVD.&amp;nbsp; This CD is then a bootable version of Windows that can
be placed into any computer and booted to.&amp;nbsp; You then have access to a functional
OS with explorer access to the problem computer's original Windows partition.&amp;nbsp;
BartPE allows you to include many other programs on your bootable OS such as a virus
scanner and Adware which can come it handy when someone hasn't been taking care of
their computer.&amp;nbsp; I checked several reviews of BartPE and most people gave it
five out of five stars.&amp;nbsp; I think BartPE is one of the best things I've come across
lately and I plan to make it the first and permanent addition to my &amp;quot;toolbox&amp;quot;.&amp;nbsp;
Feel free to post a comment with anything else you think would make a good addition.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://weblog.ctrlalt313373.com/aggbug.ashx?id=4" /&gt;</description>
      <comments>http://weblog.ctrlalt313373.com/CommentView,guid,4.aspx</comments>
      <category>Original Posts</category>
    </item>
    <item>
      <trackback:ping>http://weblog.ctrlalt313373.com/Trackback.aspx?guid=3</trackback:ping>
      <pingback:server>http://weblog.ctrlalt313373.com/pingback.aspx</pingback:server>
      <pingback:target>http://weblog.ctrlalt313373.com/PermaLink,guid,3.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://weblog.ctrlalt313373.com/CommentView,guid,3.aspx</wfw:comment>
      <wfw:commentRss>http://weblog.ctrlalt313373.com/SyndicationService.asmx/GetEntryCommentsRss?guid=3</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p class="MsoNormal">
I've begun to notice that several people are unaware of a very important feature of
terminal services that can come in handy.  When a server is setup for remote
administration mode Microsoft allows two remote administration sessions.  There
are at least two issues with this  The first one is that there are only two,
so if you have three different administrators trying to remotely log into the same
server then the third administrator who tries is going to receive a message informing
them that they cannot log in.  The other issue is that some applications output
their messages to the console, so if you are logged in remotely you may not be able
to view a critical message.<br />
    So what's the solution to this?  Well what few people seem
to be aware of is that you can remotely connect to the console session.  This
allows you to view any error messages that may get outputted directly to the console,
and this also gives you one more remote session to utilize.<br />
    In order to access the console session by way of terminal services
you'll need to invoke <a href="http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/ts_cmd_mstsc.mspx?mfr=true">mstsc</a> from
the run prompt using the /console parameter, enter in your address as usual, then
log into the remote system.<br />
    It is extremely simple, yet can come in very handy, especially
when s few administrators need access to the same server.  This trick could save
you a long walk to the server room.  Just remember if you're logged into the
console session remotely that means no one can log in directly at the keyboard.<span style="">  </span>If
someone has the console locked when you try to log in remotely to it you will be prompted
if you want to continue and end their session.  This will work on servers in
application mode, but you must be an administrator on the server to be able to log
into the console session.
</p>
        <img width="0" height="0" src="http://weblog.ctrlalt313373.com/aggbug.ashx?id=3" />
      </body>
      <title>And Console Makes Three!</title>
      <guid isPermaLink="false">http://weblog.ctrlalt313373.com/PermaLink,guid,3.aspx</guid>
      <link>http://weblog.ctrlalt313373.com/2006/08/07/AndConsoleMakesThree.aspx</link>
      <pubDate>Mon, 07 Aug 2006 10:00:00 GMT</pubDate>
      <description>&lt;p class="MsoNormal"&gt;
I've begun to notice that several people are unaware of a very important feature of
terminal services that can come in handy.&amp;nbsp; When a server is setup for remote
administration mode Microsoft allows two remote administration sessions.&amp;nbsp; There
are at least two issues with this&amp;nbsp; The first one is that there are only two,
so if you have three different administrators trying to remotely log into the same
server then the third administrator who tries is going to receive a message informing
them that they cannot log in.&amp;nbsp; The other issue is that some applications output
their messages to the console, so if you are logged in remotely you may not be able
to view a critical message.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; So what's the solution to this?&amp;nbsp; Well what few people seem
to be aware of is that you can remotely connect to the console session.&amp;nbsp; This
allows you to view any error messages that may get outputted directly to the console,
and this also gives you one more remote session to utilize.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; In order to access the console session by way of terminal services
you'll need to invoke &lt;a href="http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/ts_cmd_mstsc.mspx?mfr=true"&gt;mstsc&lt;/a&gt; from
the run prompt using the /console parameter, enter in your address as usual, then
log into the remote system.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; It is extremely simple, yet can come in very handy, especially
when s few administrators need access to the same server.&amp;nbsp; This trick could save
you a long walk to the server room.&amp;nbsp; Just remember if you're logged into the
console session remotely that means no one can log in directly at the keyboard.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;If
someone has the console locked when you try to log in remotely to it you will be prompted
if you want to continue and end their session.&amp;nbsp; This will work on servers in
application mode, but you must be an administrator on the server to be able to log
into the console session.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://weblog.ctrlalt313373.com/aggbug.ashx?id=3" /&gt;</description>
      <comments>http://weblog.ctrlalt313373.com/CommentView,guid,3.aspx</comments>
      <category>Original Posts</category>
    </item>
    <item>
      <trackback:ping>http://weblog.ctrlalt313373.com/Trackback.aspx?guid=2</trackback:ping>
      <pingback:server>http://weblog.ctrlalt313373.com/pingback.aspx</pingback:server>
      <pingback:target>http://weblog.ctrlalt313373.com/PermaLink,guid,2.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://weblog.ctrlalt313373.com/CommentView,guid,2.aspx</wfw:comment>
      <wfw:commentRss>http://weblog.ctrlalt313373.com/SyndicationService.asmx/GetEntryCommentsRss?guid=2</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p class="MsoNormal">
    Well, I recently passed the Microsoft 70-290 exam, Managing and
Maintaining a Windows Server 2003 Environment and the primary book I used for studying
was a book published by Que titled <a href="http://www.amazon.com/gp/product/0789729350/sr=8-9/qid=1153963548/ref=pd_bbs_9/002-9590196-7312812?ie=UTF8">MCSA/MCSE
Training Guide: Managing and Maintaining a Windows Server 2003 Environment</a>. 
The book was an easy read, but I don't feel it was enough alone to pass the test even
though I did manage to do so on the first try.  I do consider the book a good
introduction for someone who is not very familiar with Windows server environments. 
It goes over all the basics of the features of 2003, but I don't feel the details
were covered enough to allow someone to successfully pass the test.  My suggestion
would be to go over plenty of practice tests and have hands on experience with Server
2003.  You can download a free six month evaluation period version so you should
have sufficient time to go through all the examples in the book and try setting up
your own functioning server environment.  The test has a handful of simulation
questions so someone with hands on experience should feel more comfortable on these
questions.  The book assumes previous knowledge of activity directory and
domains so you should consider it a good idea to pick up a book on these topics before
beginning this book.<span style="">  </span> 
</p>
        <img width="0" height="0" src="http://weblog.ctrlalt313373.com/aggbug.ashx?id=2" />
      </body>
      <title>70-290 Passed!</title>
      <guid isPermaLink="false">http://weblog.ctrlalt313373.com/PermaLink,guid,2.aspx</guid>
      <link>http://weblog.ctrlalt313373.com/2006/07/26/70290Passed.aspx</link>
      <pubDate>Wed, 26 Jul 2006 11:00:00 GMT</pubDate>
      <description>&lt;p class="MsoNormal"&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Well, I recently passed the Microsoft 70-290 exam, Managing and
Maintaining a Windows Server 2003 Environment and the primary book I used for studying
was a book published by Que titled &lt;a href="http://www.amazon.com/gp/product/0789729350/sr=8-9/qid=1153963548/ref=pd_bbs_9/002-9590196-7312812?ie=UTF8"&gt;MCSA/MCSE
Training Guide: Managing and Maintaining a Windows Server 2003 Environment&lt;/a&gt;.&amp;nbsp;
The book was an easy read, but I don't feel it was enough alone to pass the test even
though I did manage to do so on the first try.&amp;nbsp; I do consider the book a good
introduction for someone who is not very familiar with Windows server environments.&amp;nbsp;
It goes over all the basics of the features of 2003, but I don't feel the details
were covered enough to allow someone to successfully pass the test.&amp;nbsp; My suggestion
would be to go over plenty of practice tests and have hands on experience with Server
2003.&amp;nbsp; You can download a free six month evaluation period version so you should
have sufficient time to go through all the examples in the book and try setting up
your own functioning server environment.&amp;nbsp; The test has a handful of simulation
questions so someone with hands on experience should feel more comfortable on these
questions.&amp;nbsp; The&amp;nbsp;book assumes previous knowledge of activity directory and
domains so you should consider it a good idea to pick up a book on these topics before
beginning this book.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;&amp;nbsp;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://weblog.ctrlalt313373.com/aggbug.ashx?id=2" /&gt;</description>
      <comments>http://weblog.ctrlalt313373.com/CommentView,guid,2.aspx</comments>
      <category>Original Posts</category>
    </item>
    <item>
      <trackback:ping>http://weblog.ctrlalt313373.com/Trackback.aspx?guid=1</trackback:ping>
      <pingback:server>http://weblog.ctrlalt313373.com/pingback.aspx</pingback:server>
      <pingback:target>http://weblog.ctrlalt313373.com/PermaLink,guid,1.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://weblog.ctrlalt313373.com/CommentView,guid,1.aspx</wfw:comment>
      <wfw:commentRss>http://weblog.ctrlalt313373.com/SyndicationService.asmx/GetEntryCommentsRss?guid=1</wfw:commentRss>
      <title>Inaugural Post – Gmail For Your Domain</title>
      <guid isPermaLink="false">http://weblog.ctrlalt313373.com/PermaLink,guid,1.aspx</guid>
      <link>http://weblog.ctrlalt313373.com/2006/07/24/InauguralPostGmailForYourDomain.aspx</link>
      <pubDate>Mon, 24 Jul 2006 11:00:00 GMT</pubDate>
      <description>&lt;p&gt;
&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;Originally the mail server for cltralt313373.com&amp;nbsp;was
running on a FreeBSD box using the &lt;a href="http://www.qmailrocks.org/"&gt;qmailrocks&lt;/a&gt; setup.&amp;nbsp;
IMHO, this is the best mail setup you can have and it&amp;rsquo;s all free except for
your hardware.&amp;nbsp; This setup has built in spam and virus filters, webmail access,
web administration features, and an excellent mailing list setup.&amp;nbsp; So what's
the only drawback to it?&amp;nbsp; Well you have to setup and administer it yourself.&amp;nbsp;
Not a problem for day to day activities, but when it comes to upgrades and troubleshooting
errors it can get a little hairy.&amp;nbsp; The support mailing list it full of very helpful
people, but trying to get things fixed when you really need to get them fixed fast
can be complicated unless you know all the in's and out's of the multiple software
packages that are involved in the install.&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;As a result ctrlalt313373.com has been switched to &lt;a href="http://www.google.om/hosted"&gt;Gmail
For Your Domain Beta.&lt;/a&gt;&amp;nbsp; Granted it doesn't have nearly the amount of features
that the qmailrock setup has, but it does have the power of Gmail, and best of all
it's all running on the very reliable servers at Google.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;There
are a few significant drawbacks that will hopefully be resolved soon.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;The
first one is that total storage space is limited to 2GBs.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;This
is extremely low for most domains.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;Also, the quantity
of email accounts for the domain is limited to 25.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;This
as well is fairly limited for most domains.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;One final
thing that needs to be added is secure IMAP access to the servers as for now there
is only the Gmail web interface and POP access.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;(Okay,
one more.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;Multiple domain aliases would be nice as well.)
&lt;/p&gt;
&lt;p&gt;
&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;So why do I think this is so great?&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;Well
because of the reliably of the servers and the ability to uses the features of Gmail.&lt;span style=""&gt;&amp;nbsp; &lt;/span&gt;Also,
the folks at Google are always working hard to add new features so you know something
excellent is on the way&amp;hellip;.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://weblog.ctrlalt313373.com/aggbug.ashx?id=1" /&gt;</description>
      <comments>http://weblog.ctrlalt313373.com/CommentView,guid,1.aspx</comments>
      <category>Original Posts</category>
    </item>
  </channel>
</rss>