<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" 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:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>Enginerding</title>
        <link>http://geekswithblogs.net/alexmoore/Default.aspx</link>
        <description>Alex Moore</description>
        <language>en-US</language>
        <copyright>Alex Moore</copyright>
        <managingEditor>moore.alex@gmail.com</managingEditor>
        <generator>Subtext Version 0.0.0.0</generator>
        <image>
            <title>Enginerding</title>
            <url>http://geekswithblogs.net/images/RSS2Image.gif</url>
            <link>http://geekswithblogs.net/alexmoore/Default.aspx</link>
            <width>77</width>
            <height>60</height>
        </image>
        <item>
            <title>Using Cygwin with Powershell</title>
            <category>Stupid Developer Tricks</category>
            <category>Happyness</category>
            <category>Productivity</category>
            <link>http://geekswithblogs.net/alexmoore/archive/2010/03/18/using-cygwin-with-powershell.aspx</link>
            <description>&lt;p&gt;If you're like me and feel comfortable/more productive using a command-line, you've probably already installed &lt;a href="http://en.wikipedia.org/wiki/Windows_PowerShell"&gt;Windows PowerShell&lt;/a&gt;.  If you're UBER (again, like me) you've probably installed &lt;a href="http://www.cygwin.com/"&gt;Cygwin&lt;/a&gt; to get that delicious &lt;a href="http://en.wikipedia.org/wiki/Bash_%28Unix_shell%29"&gt;Bash&lt;/a&gt; shell and all it's *nix friends. &lt;/p&gt;
&lt;p&gt;The only problem with Cygwin is that it runs in the dusty old Windows Command shell, which was designed originally for, oh-let's-see, 8-bit color and 640x480 displays.  However, we can easily run Cygwin in PowerShell so that we can take advantage of the larger area/nicer color.&lt;/p&gt;
&lt;p&gt;To do this, we simply have to change the path value of our Start Menu's cygwin.lnk item to the following:&lt;br /&gt;
%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe  C:\cygwin\Cygwin.bat&lt;/p&gt;
&lt;p&gt;Yes, you could change Command Shell's default color/size/etc to match PowerShell's, but &lt;strong&gt;&lt;em&gt;why?&lt;/em&gt;&lt;/strong&gt; &lt;strong&gt;&lt;br /&gt;
Be lazy, be happy.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Yet another stupid developer trick to help us stay a little more sane / productive.&lt;/p&gt; &lt;img src="http://geekswithblogs.net/alexmoore/aggbug/138596.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Alex Moore</dc:creator>
            <guid>http://geekswithblogs.net/alexmoore/archive/2010/03/18/using-cygwin-with-powershell.aspx</guid>
            <pubDate>Thu, 18 Mar 2010 16:46:53 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/alexmoore/comments/138596.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/alexmoore/archive/2010/03/18/using-cygwin-with-powershell.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/alexmoore/comments/commentRss/138596.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/alexmoore/services/trackbacks/138596.aspx</trackback:ping>
        </item>
        <item>
            <title>Faker Gem - A Quick and Dirty Introduction</title>
            <category>Ruby</category>
            <link>http://geekswithblogs.net/alexmoore/archive/2010/01/18/faker-gem---a-quick-and-dirty-introduction.aspx</link>
            <description>&lt;p&gt;One of the first ruby gems I used was the Faker Gem, a nice little ruby gem that ...wait for it... Fakes Data!&lt;/p&gt;
&lt;p&gt;Usage is simple; first grab the gem using your &lt;span style="font-size: larger;"&gt;&lt;code&gt;gem&lt;/code&gt; &lt;/span&gt;program:&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: larger;"&gt;&lt;tt&gt;&lt;code&gt;$sudo gem install faker&lt;/code&gt;&lt;/tt&gt;&lt;/span&gt;&lt;br /&gt;
 &lt;/p&gt;
&lt;p&gt;Now you can use it in your favorite ruby program or script. For now let's fire up &lt;code&gt;irb&lt;/code&gt; and see what we can fake. &lt;/p&gt;
&lt;pre&gt;&lt;div id="LC1" class="line" style="margin-left: 40px;"&gt;&lt;strong&gt;&lt;span style="font-size: larger;"&gt;&lt;code&gt;&lt;span class="nb"&gt;require&lt;/span&gt; &lt;span class="s1"&gt;'rubygems'&lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div id="LC2" class="line" style="margin-left: 40px;"&gt;&lt;strong&gt;&lt;span style="font-size: larger;"&gt;&lt;code&gt;&lt;span class="nb"&gt;require&lt;/span&gt; &lt;span class="s1"&gt;'faker'&lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div id="LC3" class="line" style="margin-left: 40px;"&gt;&lt;strong&gt;&lt;span style="font-size: larger;"&gt;&lt;code&gt; &lt;/code&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div id="LC4" class="line" style="margin-left: 40px;"&gt;&lt;em&gt;&lt;strong&gt;&lt;span style="font-size: larger;"&gt;&lt;code&gt;&lt;span class="c1"&gt;#Let's see if we can make a fake person...&lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/div&gt;&lt;div id="LC5" class="line" style="margin-left: 40px;"&gt;&lt;strong&gt;&lt;span style="font-size: larger;"&gt;&lt;code&gt;&lt;span class="n"&gt;person_name&lt;/span&gt;            &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;Faker&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;Name&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;name&lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div id="LC6" class="line" style="margin-left: 40px;"&gt;&lt;strong&gt;&lt;span style="font-size: larger;"&gt;&lt;code&gt;&lt;span class="n"&gt;person_email&lt;/span&gt;           &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;Faker&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;Internet&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;email&lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div id="LC7" class="line" style="margin-left: 40px;"&gt;&lt;strong&gt;&lt;span style="font-size: larger;"&gt;&lt;code&gt;&lt;span class="n"&gt;person_company&lt;/span&gt;         &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;Faker&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;Company&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;name&lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div id="LC8" class="line" style="margin-left: 40px;"&gt;&lt;strong&gt;&lt;span style="font-size: larger;"&gt;&lt;code&gt;&lt;span class="n"&gt;person_company_slogan&lt;/span&gt;  &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;Faker&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;Company&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;bs&lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div id="LC9" class="line" style="margin-left: 40px;"&gt;&lt;strong&gt;&lt;span style="font-size: larger;"&gt;&lt;code&gt;&lt;span class="n"&gt;person_phone&lt;/span&gt;           &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;Faker&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;PhoneNumber&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;phone_number&lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div id="LC10" class="line" style="margin-left: 40px;"&gt;&lt;strong&gt;&lt;span style="font-size: larger;"&gt;&lt;code&gt;&lt;span class="n"&gt;person_address&lt;/span&gt;         &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;Faker&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;Address&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;street_address&lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div id="LC11" class="line" style="margin-left: 40px;"&gt;&lt;strong&gt;&lt;span style="font-size: larger;"&gt;&lt;code&gt;&lt;span class="n"&gt;person_city&lt;/span&gt;            &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;Faker&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;Address&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;city&lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div id="LC12" class="line" style="margin-left: 40px;"&gt;&lt;strong&gt;&lt;span style="font-size: larger;"&gt;&lt;code&gt;&lt;span class="n"&gt;person_state&lt;/span&gt;           &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;Faker&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;Address&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;us_state&lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div id="LC13" class="line" style="margin-left: 40px;"&gt;&lt;strong&gt;&lt;span style="font-size: larger;"&gt;&lt;code&gt;&lt;span class="n"&gt;person_zip&lt;/span&gt;             &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;Faker&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;Address&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;zip_code&lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div id="LC14" class="line" style="margin-left: 40px;"&gt;&lt;strong&gt;&lt;span style="font-size: larger;"&gt;&lt;code&gt; &lt;/code&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div id="LC15" class="line" style="margin-left: 40px;"&gt;&lt;strong&gt;&lt;span style="font-size: larger;"&gt;&lt;code&gt; &lt;/code&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div id="LC16" class="line" style="margin-left: 40px;"&gt;&lt;em&gt;&lt;strong&gt;&lt;span style="font-size: larger;"&gt;&lt;code&gt;&lt;span class="c1"&gt;# Wowee-wow-wow. Now let's print him off some business cards&lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/div&gt;&lt;div id="LC17" class="line" style="margin-left: 40px;"&gt;&lt;strong&gt;&lt;span style="font-size: larger;"&gt;&lt;code&gt;&lt;span class="nb"&gt;puts&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&gt;#{&lt;/span&gt;&lt;span class="n"&gt;person_name&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div id="LC18" class="line" style="margin-left: 40px;"&gt;&lt;strong&gt;&lt;span style="font-size: larger;"&gt;&lt;code&gt;&lt;span class="si"&gt;#{&lt;/span&gt;&lt;span class="n"&gt;person_company&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div id="LC19" class="line" style="margin-left: 40px;"&gt;&lt;strong&gt;&lt;span style="font-size: larger;"&gt;&lt;code&gt;&lt;span class="s2"&gt;'&lt;/span&gt;&lt;span class="si"&gt;#{&lt;/span&gt;&lt;span class="n"&gt;person_company_slogan&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;capitalize&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;'&lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div id="LC20" class="line" style="margin-left: 40px;"&gt;&lt;strong&gt;&lt;span style="font-size: larger;"&gt;&lt;code&gt;&lt;span class="si"&gt;#{&lt;/span&gt;&lt;span class="n"&gt;person_address&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div id="LC21" class="line" style="margin-left: 40px;"&gt;&lt;strong&gt;&lt;span style="font-size: larger;"&gt;&lt;code&gt;&lt;span class="si"&gt;#{&lt;/span&gt;&lt;span class="n"&gt;person_city&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;, &lt;/span&gt;&lt;span class="si"&gt;#{&lt;/span&gt;&lt;span class="n"&gt;person_state&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt; &lt;/span&gt;&lt;span class="si"&gt;#{&lt;/span&gt;&lt;span class="n"&gt;person_zip&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div id="LC22" class="line" style="margin-left: 40px;"&gt;&lt;strong&gt;&lt;span style="font-size: larger;"&gt;&lt;code&gt;&lt;span class="s2"&gt;Call me at : &lt;/span&gt;&lt;span class="si"&gt;#{&lt;/span&gt;&lt;span class="n"&gt;person_phone&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div id="LC23" class="line" style="margin-left: 40px;"&gt;&lt;strong&gt;&lt;span style="font-size: larger;"&gt;&lt;code&gt;&lt;span class="s2"&gt;Email me at: &lt;/span&gt;&lt;span class="si"&gt;#{&lt;/span&gt;&lt;span class="n"&gt;person_email&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div id="LC24" class="line" style="margin-left: 40px;"&gt;&lt;strong&gt;&lt;span style="font-size: larger;"&gt;&lt;code&gt;&lt;span class="s2"&gt;It's a pleasure doing business."&lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div id="LC25" class="line" style="margin-left: 40px;"&gt;&lt;strong&gt;&lt;span style="font-size: larger;"&gt;&lt;code&gt; &lt;/code&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div id="LC26" class="line" style="margin-left: 40px;"&gt;&lt;em&gt;&lt;strong&gt;&lt;span style="font-size: larger;"&gt;&lt;code&gt;&lt;span class="c1"&gt;# Awesome, now we can go into business and &lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/div&gt;&lt;div class="line" style="margin-left: 40px;"&gt;&lt;em&gt;&lt;strong&gt;&lt;span style="font-size: larger;"&gt;&lt;code&gt;&lt;span class="c1"&gt;# get back our money from that Nigerian prince fellow...&lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/div&gt;&lt;div class="line" style="margin-left: 40px;"&gt;&lt;br /&gt;&lt;br /&gt; &lt;/div&gt;&lt;/pre&gt;
&lt;p&gt;As you can see Faker is pretty easy to use; you can build some powerful test bases using it inside a loop:&lt;/p&gt;
&lt;pre&gt;&lt;div id="LC1" class="line" style="margin-left: 40px;"&gt;&lt;strong&gt;&lt;span style="font-size: larger;"&gt;&lt;code&gt;&lt;span class="nb"&gt;require&lt;/span&gt; &lt;span class="s1"&gt;'rubygems'&lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div id="LC2" class="line" style="margin-left: 40px;"&gt;&lt;strong&gt;&lt;span style="font-size: larger;"&gt;&lt;code&gt;&lt;span class="nb"&gt;require&lt;/span&gt; &lt;span class="s1"&gt;'faker'&lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div id="LC3" class="line" style="margin-left: 40px;"&gt;&lt;strong&gt;&lt;span style="font-size: larger;"&gt;&lt;code&gt;&lt;span class="nb"&gt;require&lt;/span&gt; &lt;span class="s1"&gt;'activerecord'&lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div id="LC4" class="line" style="margin-left: 40px;"&gt;&lt;strong&gt;&lt;span style="font-size: larger;"&gt;&lt;code&gt; &lt;/code&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div id="LC5" class="line" style="margin-left: 40px;"&gt;&lt;strong&gt;&lt;span style="font-size: larger;"&gt;&lt;code&gt;&lt;span class="mi"&gt;1000&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;times&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div id="LC6" class="line" style="margin-left: 40px;"&gt;&lt;strong&gt;&lt;span style="font-size: larger;"&gt;&lt;code&gt;  &lt;span class="c1"&gt;# make a person&lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div id="LC7" class="line" style="margin-left: 40px;"&gt;&lt;strong&gt;&lt;span style="font-size: larger;"&gt;&lt;code&gt;  &lt;span class="c1"&gt;# save person&lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div id="LC8" class="line" style="margin-left: 40px;"&gt;&lt;strong&gt;&lt;span style="font-size: larger;"&gt;&lt;code&gt;&lt;span class="k"&gt;end&lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
For more information see the Faker Docs: &lt;a href="http://faker.rubyforge.org/rdoc/"&gt;http://faker.rubyforge.org/rdoc/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In my next post I will show you how you can use all this fake data you're generating to test anything you need data for.&lt;/p&gt;
&lt;p&gt;--Alex&lt;/p&gt; &lt;img src="http://geekswithblogs.net/alexmoore/aggbug/137534.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>alexmoore</dc:creator>
            <guid>http://geekswithblogs.net/alexmoore/archive/2010/01/18/faker-gem---a-quick-and-dirty-introduction.aspx</guid>
            <pubDate>Tue, 19 Jan 2010 00:57:06 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/alexmoore/comments/137534.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/alexmoore/archive/2010/01/18/faker-gem---a-quick-and-dirty-introduction.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/alexmoore/comments/commentRss/137534.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/alexmoore/services/trackbacks/137534.aspx</trackback:ping>
        </item>
        <item>
            <title>CodeMash 2.0.1.0.  Hey, it&amp;rsquo;s a beta finally!</title>
            <category>Community</category>
            <link>http://geekswithblogs.net/alexmoore/archive/2010/01/12/codemash-2.0.1.0.--hey-itrsquos-a-beta-finally.aspx</link>
            <description>&lt;p&gt;So there is this meme going around about people posting their CodeMash schedules, so I thought I would be a sheep and do the same.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;table width="591" cellspacing="0" cellpadding="2" border="1"&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td width="79" valign="top"&gt; &lt;/td&gt;
            &lt;td width="261" valign="top"&gt;Primary&lt;/td&gt;
            &lt;td width="249" valign="top"&gt;Secondary&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="84" valign="top"&gt;&lt;strong&gt;Wednesday&lt;/strong&gt;&lt;/td&gt;
            &lt;td width="259" valign="top"&gt; &lt;/td&gt;
            &lt;td width="247" valign="top"&gt; &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="89" valign="top"&gt;AM&lt;/td&gt;
            &lt;td width="256" valign="top"&gt;Practical B/TDD         &lt;br /&gt;
            (Phil Japikse)&lt;/td&gt;
            &lt;td width="244" valign="top"&gt; &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="93" valign="top"&gt;PM&lt;/td&gt;
            &lt;td width="255" valign="top"&gt;Competency &amp;amp; Leadership in Software         &lt;br /&gt;
            (Mary Poppendieck)&lt;/td&gt;
            &lt;td width="243" valign="top"&gt; &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="97" valign="top"&gt; &lt;/td&gt;
            &lt;td width="253" valign="top"&gt; &lt;/td&gt;
            &lt;td width="241" valign="top"&gt; &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="100" valign="top"&gt;&lt;strong&gt;Thursday&lt;/strong&gt;&lt;/td&gt;
            &lt;td width="252" valign="top"&gt; &lt;/td&gt;
            &lt;td width="240" valign="top"&gt; &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="102" valign="top"&gt;9:45am – 10:45am&lt;/td&gt;
            &lt;td width="251" valign="top"&gt;What Makes Ruby Different?         &lt;br /&gt;
            (Joe O’Brien/ Mark Peabody/ Leon Gersing)&lt;/td&gt;
            &lt;td width="239" valign="top"&gt;Agile Iteration 0          &lt;br /&gt;
            (Ken Sipe)&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="104" valign="top"&gt;11:00am – 12:00pm&lt;/td&gt;
            &lt;td width="250" valign="top"&gt;Maintainable ASP.NET MVC          &lt;br /&gt;
            (Chris Patterson)&lt;/td&gt;
            &lt;td width="238" valign="top"&gt;An Introduction to MongoDB         &lt;br /&gt;
            (Mike Droll)&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="106" valign="top"&gt;1:45pm – 2:45pm&lt;/td&gt;
            &lt;td width="249" valign="top"&gt; &lt;/td&gt;
            &lt;td width="238" valign="top"&gt; &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="107" valign="top"&gt;3:35pm – 4:35pm&lt;/td&gt;
            &lt;td width="249" valign="top"&gt;Refactoring the Programmer         &lt;br /&gt;
            (Joe O’Brien)&lt;/td&gt;
            &lt;td width="237" valign="top"&gt;Techniques for Programming Parallel Solutions         &lt;br /&gt;
            (Michael Slade)&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="108" valign="top"&gt;4:50pm – 5:50pm&lt;/td&gt;
            &lt;td width="248" valign="top"&gt;Testing ASP.Net Applications using Ruby         &lt;br /&gt;
            (Ben Hall)&lt;/td&gt;
            &lt;td width="237" valign="top"&gt;Engineering vs Design – How to work together         &lt;br /&gt;
            (Joe Nuxoll)&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="109" valign="top"&gt; &lt;/td&gt;
            &lt;td width="248" valign="top"&gt; &lt;/td&gt;
            &lt;td width="237" valign="top"&gt; &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="110" valign="top"&gt;Friday&lt;/td&gt;
            &lt;td width="247" valign="top"&gt; &lt;/td&gt;
            &lt;td width="236" valign="top"&gt; &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="110" valign="top"&gt;9:30am – 10:30am&lt;/td&gt;
            &lt;td width="247" valign="top"&gt;Software Design and Testability         &lt;br /&gt;
            (Jeremy D. Miller)&lt;/td&gt;
            &lt;td width="236" valign="top"&gt;Oh Crap! I forgot (or never learned) C!         &lt;br /&gt;
            (Chris Adamson)&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="110" valign="top"&gt;10:45am – 11:45am&lt;/td&gt;
            &lt;td width="247" valign="top"&gt;Leadership 101         &lt;br /&gt;
            (Jim Holmes)&lt;/td&gt;
            &lt;td width="236" valign="top"&gt; &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="110" valign="top"&gt;1:45pm – 2:45pm&lt;/td&gt;
            &lt;td width="247" valign="top"&gt;Credit Crunch Code: Payback Tech Debt         &lt;br /&gt;
            (Gary Short)&lt;/td&gt;
            &lt;td width="236" valign="top"&gt;Patterns: Studying not Stealing         &lt;br /&gt;
            (Jon Stahl, Carol Smith)&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="110" valign="top"&gt;3:35pm – 4:35pm&lt;/td&gt;
            &lt;td width="247" valign="top"&gt;SOLID Ruby         &lt;br /&gt;
            (Jim Weirich)&lt;/td&gt;
            &lt;td width="238" valign="top"&gt;Clojure: Concurrent Functional Programming         &lt;br /&gt;
            (Howard M. Lewis Ship)&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;I figured I would leave one timeslot open in case one of my secondary choices decided to repeat their session, or I to take a nap on the lazy river after lunch.  Decisions, decisions…&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;‘Til next time.&lt;/p&gt; &lt;img src="http://geekswithblogs.net/alexmoore/aggbug/137445.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>alexmoore</dc:creator>
            <guid>http://geekswithblogs.net/alexmoore/archive/2010/01/12/codemash-2.0.1.0.--hey-itrsquos-a-beta-finally.aspx</guid>
            <pubDate>Tue, 12 Jan 2010 05:11:57 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/alexmoore/comments/137445.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/alexmoore/archive/2010/01/12/codemash-2.0.1.0.--hey-itrsquos-a-beta-finally.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/alexmoore/comments/commentRss/137445.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/alexmoore/services/trackbacks/137445.aspx</trackback:ping>
        </item>
        <item>
            <title>Not dead yet. Goals for Q1 2010.</title>
            <link>http://geekswithblogs.net/alexmoore/archive/2010/01/11/not-dead-yet.-goals-for-q1-2010.aspx</link>
            <description>&lt;p&gt;Let’s face it, 2009 was a bitch. My 2009 was an exceptionally crazy bitch.  In short I was laid off, worked as an independent contractor for the fine folks of LeanDog, found a nice Consultant job at HMB, got married, went on a honeymoon, bought a house, paid out the ass to get out of my lease, and have been tackling a never ending honey-do list ever since. I wouldn’t trade it for a year of cozy boring life though :)&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;I cannot remember what my 2009 goals were, but I’m sure they were shot-to-hell. The only one I do remember was I was looking for a career adjustment as they call it, however that was provided for me at the end of February.  So here is to 2010, and my new goals.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;h2&gt;Goals for Q1 2010&lt;/h2&gt;
&lt;h4&gt;Pass my 70-562 Microsoft Exam&lt;/h4&gt;
&lt;blockquote&gt;
&lt;p&gt;So I can be the expert at making the internets, and be marketable.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h4&gt;Lose 10 lbs&lt;/h4&gt;
&lt;blockquote&gt;
&lt;p&gt;We all probably need to do this, now put down that cupcake.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h4&gt;Get into a hobby that doesn’t exist within the “nerd ghetto”&lt;/h4&gt;
&lt;blockquote&gt;
&lt;p&gt;I’ve been looking into woodworking to build some furniture, etc. I need a hobby that isn’t surfing the internet looking at lolcats and the latest reddit jokes.  If I can build a bookshelf by the end of March I will consider this completed.&lt;br /&gt;
 &lt;/p&gt;
&lt;/blockquote&gt;
&lt;h4&gt;Wait - Q1, WTF?&lt;/h4&gt;
&lt;blockquote&gt;
&lt;p&gt;I’m limiting my goals to those which I can do in 3 months. This should help me be more realistic and proactive with my goals.  If I make yearlong goals I will just put them off until review time or November, whichever comes first.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;As you can see, I’m giving myself 3 moderate goals that can be qualified as completed or not. Hopefully by keeping it simple, life won’t get in the way of my goals like usual. I will keep all 2 of my dear readers updated with a “How’s it going” post about mid-February, and will post my results at the end as well.  Feel free to heckle me if I don’t succeed.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Till next time.&lt;/p&gt; &lt;img src="http://geekswithblogs.net/alexmoore/aggbug/137443.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>alexmoore</dc:creator>
            <guid>http://geekswithblogs.net/alexmoore/archive/2010/01/11/not-dead-yet.-goals-for-q1-2010.aspx</guid>
            <pubDate>Tue, 12 Jan 2010 04:34:43 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/alexmoore/comments/137443.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/alexmoore/archive/2010/01/11/not-dead-yet.-goals-for-q1-2010.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/alexmoore/comments/commentRss/137443.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/alexmoore/services/trackbacks/137443.aspx</trackback:ping>
        </item>
        <item>
            <title>Using ActiveRecord with SQL Server 2000/2005/2008</title>
            <category>Ruby</category>
            <category>Sql Server</category>
            <link>http://geekswithblogs.net/alexmoore/archive/2009/08/17/using-activerecord-with-sql-server-2008.aspx</link>
            <description>&lt;p&gt;On a recent project I needed to test my application with lots of data so I remembered my good friend the Faker Gem from the Ruby world.  &lt;br /&gt;
I didn’t know how to connect ActiveRecord to SQL Server, so I searched the webs and found &lt;a target="_blank" href="http://www.lostechies.com/blogs/rhouston/archive/2008/05/03/connecting-activerecord-to-sql-server.aspx"&gt;this article by Ray Houston at Los Techies&lt;/a&gt;.  &lt;br /&gt;
Unfortunately since the article was 13 months old, the Ruby libraries have evolved to not work that way anymore :)  So after some head scratching I got it to work again.&lt;/p&gt;
&lt;h3&gt;How to connect ActiveRecord to SQL Server&lt;/h3&gt;
&lt;ol&gt;
    &lt;li&gt;If you don’t have Ruby installed, grab the one-click installer from &lt;a href="http://rubyforge.org/frs/?group_id=167&amp;amp;release_id=28426"&gt;http://rubyforge.org/frs/?group_id=167&amp;amp;release_id=28426&lt;/a&gt; and make sure you check the box to install rubygems.&lt;/li&gt;
    &lt;li&gt;Open up your PowerShell or console, and run:  &lt;br /&gt;
    &lt;font face="Courier New"&gt;gem update ––system&lt;/font&gt;&lt;font face="trebu"&gt;        &lt;br /&gt;
    &lt;/font&gt;&lt;font face="Courier New"&gt;gem install activerecord activerecord-sqlserver-adapter        &lt;br /&gt;
    &lt;/font&gt;&lt;em&gt;*This should install all prerequisites gems as well. &lt;/em&gt;&lt;/li&gt;
    &lt;li&gt;Grab my example from github:      &lt;br /&gt;
    &lt;a href="http://github.com/alexmoore/activerecord-with-sqlserver-example/tree/master"&gt;http://github.com/alexmoore/activerecord-with-sqlserver-example/tree/master&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;Run the CreatePersonTable.sql script to add the example table to your database.&lt;/li&gt;
    &lt;li&gt;Open Config.rb and put your database connection info in.&lt;/li&gt;
    &lt;li&gt;Run: &lt;font face="Courier New"&gt;ruby PersonFactory.rb&lt;/font&gt;  and you should be golden!&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;In my next post I will show how to use the Faker gem and some statistics tricks to quickly mock up a plethora of test data.&lt;/p&gt;
&lt;p&gt;-- Alex&lt;/p&gt; &lt;img src="http://geekswithblogs.net/alexmoore/aggbug/134124.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>alexmoore</dc:creator>
            <guid>http://geekswithblogs.net/alexmoore/archive/2009/08/17/using-activerecord-with-sql-server-2008.aspx</guid>
            <pubDate>Mon, 17 Aug 2009 04:11:54 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/alexmoore/comments/134124.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/alexmoore/archive/2009/08/17/using-activerecord-with-sql-server-2008.aspx#feedback</comments>
            <slash:comments>3</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/alexmoore/comments/commentRss/134124.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/alexmoore/services/trackbacks/134124.aspx</trackback:ping>
        </item>
        <item>
            <title>Good .Net Performance Talks</title>
            <link>http://geekswithblogs.net/alexmoore/archive/2008/10/30/good-.net-performance-talks.aspx</link>
            <description>So I've been following PDC this week as much as possible, and came across this gem on &lt;a href="javascript:void(0);/*1225388769055*/"&gt;Vance Morrison's Blog&lt;/a&gt;. &lt;br /&gt;
&lt;br /&gt;
&lt;a href="javascript:void(0);/*1225388874955*/"&gt;Slides for our All Day PDC 2008 talks on: Performance By Design&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
I recommend the Parallel Talk as it is more in depth than mine (they had more than 10 minutes for their presentation &lt;img alt="" src="/Providers/BlogEntryEditor/FCKeditor/editor/images/smiley/msn/regular_smile.gif" /&gt;).  &lt;br /&gt;
&lt;br /&gt;
Two things to take away:&lt;br /&gt;
&lt;ol&gt;
    &lt;li&gt;You can run your Garbage Collector on a separate thread:&lt;br /&gt;
        EXE.Config &amp;lt;gcServer enabled="true" /&amp;gt;&lt;/li&gt;
    &lt;li&gt;Shared state is the enemy!&lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;
The ASP.Net slides are good too, and go into great length about caching and IISconfiguration.&lt;br /&gt;
&lt;br /&gt;
-- Alex Moore &lt;img src="http://geekswithblogs.net/alexmoore/aggbug/126402.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>alexmoore</dc:creator>
            <guid>http://geekswithblogs.net/alexmoore/archive/2008/10/30/good-.net-performance-talks.aspx</guid>
            <pubDate>Thu, 30 Oct 2008 17:48:40 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/alexmoore/comments/126402.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/alexmoore/archive/2008/10/30/good-.net-performance-talks.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/alexmoore/comments/commentRss/126402.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/alexmoore/services/trackbacks/126402.aspx</trackback:ping>
        </item>
        <item>
            <title>CONDG Lightning Talk Slides</title>
            <category>Parallel Extensions</category>
            <link>http://geekswithblogs.net/alexmoore/archive/2008/10/26/condg-lightning-talk-slides.aspx</link>
            <description>&lt;p&gt;Here are the slides for my “Shallow Dive: PFX” talk, as promised.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.slideshare.net/alexmoore/shallow-dive-pfx-presentation-695596" title="http://www.slideshare.net/alexmoore/shallow-dive-pfx-presentation-695596"&gt;http://www.slideshare.net/alexmoore/shallow-dive-pfx-presentation-695596&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;For the demos, I used the LINQRayTracer and C# Raytracer examples that come with the June08 PFX CTP. &lt;/p&gt;
&lt;p&gt;If you have any questions about PFX or the slides, just email or twitter DM me.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Till next time,&lt;/p&gt;
&lt;p&gt;Alex Moore&lt;/p&gt; &lt;img src="http://geekswithblogs.net/alexmoore/aggbug/126204.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>alexmoore</dc:creator>
            <guid>http://geekswithblogs.net/alexmoore/archive/2008/10/26/condg-lightning-talk-slides.aspx</guid>
            <pubDate>Mon, 27 Oct 2008 02:55:01 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/alexmoore/comments/126204.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/alexmoore/archive/2008/10/26/condg-lightning-talk-slides.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/alexmoore/comments/commentRss/126204.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/alexmoore/services/trackbacks/126204.aspx</trackback:ping>
        </item>
        <item>
            <title>CONDG October Meeting Recap</title>
            <category>Community</category>
            <link>http://geekswithblogs.net/alexmoore/archive/2008/10/24/condg-october-meeting-recap.aspx</link>
            <description>&lt;p&gt;So I gave my 10 minute “Shallow Dive: PFX” presentation at &lt;a href="http://condg.org/"&gt;CONDG&lt;/a&gt; tonight, and it went really smoothly.  There were a lot of good presentations tonight, and it’s wonderful to see people in the development community giving back by doing these presentations, teaching, and inspiring people.  I will post my slide deck this weekend, after I add some notes so readers can follow along.&lt;/p&gt;
&lt;p&gt;I would like to give props out to &lt;a href="http://blog.stevehorn.cc/"&gt;Steve Horn&lt;/a&gt; for his &lt;a href="http://jquery.com/"&gt;JQuery&lt;/a&gt; presentation, and to Greg Malcolm for his &lt;a href="http://www.mono-project.com/Main_Page"&gt;Mono&lt;/a&gt; presentation.  Great stuff!&lt;/p&gt;
&lt;p&gt;I did stay up late last night and submitted a &lt;a href="http://www.codemash.org"&gt;CodeMash&lt;/a&gt; perspective titled “Belly Flop: PFX”, hopefully it gets accepted.  I would love to extend on this presentation to show more of the architectural and design implications of Concurrent / Parallel Programming, and I think &lt;a href="http://www.codemash.org"&gt;CodeMash&lt;/a&gt; would be the perfect venue for this.&lt;/p&gt;
&lt;p&gt;More to come soon…&lt;/p&gt;
&lt;p&gt;-- Alex&lt;/p&gt; &lt;img src="http://geekswithblogs.net/alexmoore/aggbug/126071.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>alexmoore</dc:creator>
            <guid>http://geekswithblogs.net/alexmoore/archive/2008/10/24/condg-october-meeting-recap.aspx</guid>
            <pubDate>Fri, 24 Oct 2008 04:29:38 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/alexmoore/comments/126071.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/alexmoore/archive/2008/10/24/condg-october-meeting-recap.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/alexmoore/comments/commentRss/126071.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/alexmoore/services/trackbacks/126071.aspx</trackback:ping>
        </item>
        <item>
            <title>Parallel Extensions Links</title>
            <category>Community</category>
            <category>Parallel Extensions</category>
            <link>http://geekswithblogs.net/alexmoore/archive/2008/10/22/parallel-extensions-links.aspx</link>
            <description>&lt;p&gt;Here are some links to help you get started with the Microsoft Parallel Extensions to the .Net Framework (PFX).&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;h3&gt; &lt;/h3&gt;
&lt;h3&gt;Starting Out&lt;/h3&gt;
&lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=348F73FD-593D-4B3C-B055-694C50D2B0F3&amp;amp;displaylang=en"&gt;PFX CTP&lt;/a&gt; – Here are the latest CTP bits from June 2008.  They come with a whole lot of good examples and good documentation to get you started.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/concurrency/default.aspx"&gt;MSDN Parallel Computing Dev Center&lt;/a&gt; – Plenty of white papers, videos, podcasts, and articles to get you started.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://channel9.msdn.com/tags/Back+To+Basics/"&gt;Channel 9 Back to Basics Series&lt;/a&gt; (&lt;a href="http://channel9.msdn.com/tags/Back+To+Basics/RSS/"&gt;RSS&lt;/a&gt;) – This series is just getting started but looks very promising as a resource for developers new to parallel and concurrent programming.  It plans to cover Race Conditions, Deadlocks, Task Granularity,  Load Balancing, and Data Locality. &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;h3&gt;Blogs&lt;/h3&gt;
&lt;p&gt;&lt;a href="http://www.bluebytesoftware.com/blog/Default.aspx"&gt;Joe Duffy&lt;/a&gt; (&lt;a href="http://www.bluebytesoftware.com/blog/SyndicationService.asmx/GetRss"&gt;RSS&lt;/a&gt;) – Joe is one of the lead developers for the Parallel Computing Platform, and also just got done writing “The” book for concurrent programming in Windows and .Net.  There is a lot of great information here.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://herbsutter.wordpress.com/"&gt;Herb Sutter&lt;/a&gt; (&lt;a href="http://herbsutter.wordpress.com/feed/"&gt;RSS&lt;/a&gt;) – One of the great names in concurrent programming, a little more for the C++ crowd.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/pfxteam/"&gt;PFX Team Blog&lt;/a&gt; (&lt;a href="http://blogs.msdn.com/pfxteam/rss.xml"&gt;RSS&lt;/a&gt;) – News and information straight from the horse’s mouth.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;h3&gt;Books&lt;/h3&gt;
&lt;p&gt;&lt;a href="http://www.amazon.com/Concurrent-Programming-Windows-Microsoft-Development/dp/032143482X"&gt;Concurrent Programming on Windows&lt;/a&gt;, Joe Duffy – This is supposed to be “The” book about programming concurrently in Windows.  I have personally bought the “Rough Cut” from Safari and can safely recommend it to anybody trying to learn about concurrent and parallel programming.  It is divided into 4 section:  Concepts, Mechanisms, Algorithms, and Systems, so there is fun for the whole family.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;h3&gt;Videos/Screencasts&lt;/h3&gt;
&lt;p&gt;&lt;a href="http://channel9.msdn.com/tags/Parallel+Extensions/"&gt;Channel 9 Parallel Extensions&lt;/a&gt; (&lt;a href="http://channel9.msdn.com/tags/Parallel+Extensions/RSS/"&gt;RSS&lt;/a&gt;) – Great collection for learning all about the Parallel Extensions in and out.&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="http://channel9.msdn.com/tags/Parallel+Computing/"&gt;Channel 9 Parallel Computing&lt;/a&gt; (&lt;a target="_blank" href="http://channel9.msdn.com/tags/Parallel+Computing/RSS/"&gt;RSS&lt;/a&gt;) – Focuses more on the whole of the Parallel Computing Platform movement.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;I hope these resources can get you started into the world of Parallel/Concurrent programming.&lt;/p&gt;
&lt;p&gt;-- Alex&lt;/p&gt; &lt;img src="http://geekswithblogs.net/alexmoore/aggbug/126034.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>alexmoore</dc:creator>
            <guid>http://geekswithblogs.net/alexmoore/archive/2008/10/22/parallel-extensions-links.aspx</guid>
            <pubDate>Wed, 22 Oct 2008 20:40:42 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/alexmoore/comments/126034.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/alexmoore/archive/2008/10/22/parallel-extensions-links.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/alexmoore/comments/commentRss/126034.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/alexmoore/services/trackbacks/126034.aspx</trackback:ping>
        </item>
    </channel>
</rss>
