<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>Blake on Stuff</title>
	<atom:link href="http://thoughtrush.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://thoughtrush.com/blog</link>
	<description>Accidental Learning...       by Blake Tolbert</description>
	<pubDate>Tue, 01 Jul 2008 20:13:36 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5</generator>
	<language>en</language>
			<item>
		<title>WPF Master Pages (kinda sorta)</title>
		<link>http://thoughtrush.com/blog/2008/07/01/wpf-master-pages-kinda-sorta/</link>
		<comments>http://thoughtrush.com/blog/2008/07/01/wpf-master-pages-kinda-sorta/#comments</comments>
		<pubDate>Tue, 01 Jul 2008 20:10:24 +0000</pubDate>
		<dc:creator>Blake Tolbert</dc:creator>
		
		<category><![CDATA[.NET]]></category>

		<category><![CDATA[CRUD]]></category>

		<category><![CDATA[masterpages]]></category>

		<category><![CDATA[wpf]]></category>

		<category><![CDATA[xaml]]></category>

		<guid isPermaLink="false">http://thoughtrush.com/blog/?p=35</guid>
		<description><![CDATA[I decided to build a simple project management application in my quest to wrap my head around WPF.  So far I set up the database, got an Entity Framework model happily binding, and started writing CRUD &#8220;pages&#8221; (the TabItems of a TabControl as shown in the GUI shown).

These pages share much of the same presentation [...]]]></description>
			<content:encoded><![CDATA[<p>I decided to build a simple project management application in my quest to wrap my head around WPF.  So far I set up the database, got an Entity Framework model happily binding, and started writing CRUD &#8220;pages&#8221; (the TabItems of a TabControl as shown in the GUI shown).</p>
<p><img src="http://thoughtrush.com/blog/wp-content/uploads/2008/07/image.png" border="0" alt="image" width="502" height="357" /></p>
<p>These pages share much of the same presentation and logic and, after writing two of them, I knew I had to refactor them somehow.  Some kind of &#8220;master page&#8221; would work well here.  I will just define the entity-specific controls and the data calls for each page and the rest of the presentation and logic will live in non-repeated harmony in the master page.</p>
<p>Well, my first idea, subclassing a XAML-based UserControl turns out to be very <a href="http://forums.msdn.microsoft.com/en-US/wpf/thread/574ace23-3cb7-4d4e-a8be-d00c97110bed/">tricky</a> <a href="http://forums.msdn.microsoft.com/en/wpf/thread/863877a3-8041-48dc-ab7e-eec7c6bcecb1/">to</a> <a href="http://forums.msdn.microsoft.com/en/wpf/thread/4f0cd7e3-65fa-4d2a-b29f-492e4209641c/">get</a> <a href="http://forums.msdn.microsoft.com/en/wpf/thread/4e39d386-9230-46e4-bf71-0f723191c555/">by</a> <a href="http://forums.msdn.microsoft.com/en/wpf/thread/a7ec68d3-11b1-4f80-a1fe-4bfbc9923812/">the</a> <a href="http://geekswithblogs.net/lbugnion/archive/2007/03/02/107747.aspx">compiler</a> and generally <a href="http://work.j832.com/2007/06/don-subclass-panel-unless-you-making.html">a bad idea</a>.</p>
<p>These links provide some valid ways to implement master page type functionality in WPF:</p>
<ul>
<li><a href="http://www.codeproject.com/KB/WPF/WPFMasterPageControl.aspx">Code Project article</a> by Karin Huber that explains the basic approach used in all of these links.  Be sure to read the comments at the end for some subtle fixes.</li>
<li><a href="http://blogs.interknowlogy.com/bradcunningham/archive/2007/11/21/22690.aspx">Slightly different approach</a> with a great clear explanation by Brad Cunningham.</li>
<li><a href="http://rrelyea.spaces.live.com/Blog/cns!167AD7A5AB58D5FE!2130.entry">Example of three different &#8220;subclassing&#8221; approaches</a> by Rob Relyea.</li>
</ul>
<p>I&#8217;ll share some code later once I am happy with my implementation.  One issue is that you can&#8217;t bind between controls in different ContentControls (as noted in <a href="http://blogs.windowsclient.net/rob_relyea/archive/2008/02/21/wpf-master-pages.aspx#15400">this comment</a>), which I need for this application.  I know there has to be a better way&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://thoughtrush.com/blog/2008/07/01/wpf-master-pages-kinda-sorta/feed/</wfw:commentRss>
		</item>
		<item>
		<title>All I want to do is copy some files!!</title>
		<link>http://thoughtrush.com/blog/2008/04/15/all-i-want-to-do-is-copy-some-files/</link>
		<comments>http://thoughtrush.com/blog/2008/04/15/all-i-want-to-do-is-copy-some-files/#comments</comments>
		<pubDate>Tue, 15 Apr 2008 17:21:01 +0000</pubDate>
		<dc:creator>Blake Tolbert</dc:creator>
		
		<category><![CDATA[Tech]]></category>

		<category><![CDATA[backup4all]]></category>

		<category><![CDATA[copy]]></category>

		<category><![CDATA[file]]></category>

		<category><![CDATA[Linux]]></category>

		<category><![CDATA[samba]]></category>

		<category><![CDATA[trk]]></category>

		<category><![CDATA[windows]]></category>

		<category><![CDATA[XXCOPY]]></category>

		<guid isPermaLink="false">http://thoughtrush.com/blog/?p=33</guid>
		<description><![CDATA[I just have to blog this so I can help anybody else in this situation (including myself next time I need it).
I was trying to recover data from a friend&#8217;s computer with a sick hard drive.  I couldn&#8217;t boot into Windows due to some poorly placed bad sectors so I booted using a very [...]]]></description>
			<content:encoded><![CDATA[<p>I just have to blog this so I can help anybody else in this situation (including myself next time I need it).</p>
<p>I was trying to recover data from a friend&#8217;s computer with a sick hard drive.  I couldn&#8217;t boot into Windows due to some poorly placed bad sectors so I booted using a very handy Linux rescue CD called <a href="http://trinityhome.org/Home/index.php?wpid=1&amp;front_id=12">Trinity Rescue Kit</a>.  This worked great.  I got on my network, mounted the Windows drives, and ran the &#8216;fileserver -s&#8217; command to auto-share the drives to Windows via <a href="http://www.samba.org/">SMB</a>.</p>
<p><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" src="http://thoughtrush.com/blog/wp-content/uploads/2008/04/image1.png" border="0" alt="image" width="514" height="340" /></p>
<p>Everything is cruising along&#8230;</p>
<h3>The Problem</h3>
<p>I want to be able to easily copy specific folders and files (sometimes entire folder trees) across three different target (sick) drives to my local drive.</p>
<p>I don&#8217;t want to have to ctrl-select a hundred different folders or copy them one at a time and have to wait between copies.  <strong>I want to be able to easily filter folders beforehand and copy them all at once</strong>.  I am positive this is easier than I made it, but I embarrassingly banged my head for a couple of hours with these tools:</p>
<ul>
<li><a href="http://en.wikipedia.org/wiki/XCOPY">XCOPY</a> - You can exclude folders, but it&#8217;s painful, <a href="http://www.pluralsight.com/blogs/dbox/archive/2008/01/02/49606.aspx">deprecated</a>, and I want a GUI.</li>
<li><a href="http://en.wikipedia.org/wiki/Robocopy">robocopy</a> - Powerful, kind of a pain to get in XP (comes standard in Vista), and has a <a href="http://technet.microsoft.com/en-us/magazine/cc160891.aspx">basic GUI</a>.  It still is cumbersome if you want to do a one-time selective copy of a bunch of folders.</li>
<li><a href="http://www.xxcopy.com/index.htm">XXCOPY</a> - A super-XCOPY.  Tons of options and just over-complex for one-time use.  No GUI that I could find.</li>
<li><a href="http://www.scootersoftware.com/">Beyond Compare</a> - This is a fantastic diff tool and is actually mentioned in a <a href="http://www.codinghorror.com/blog/archives/000454.html">few</a> <a href="http://www.hanselman.com/blog/XCopyConsideredHarmfulRobocopyOrXXCopyOrSyncBack.aspx">places</a> as a potential answer to this problem.  You can exclude files through a relatively intuitive interface, but there is one big problem once you start the copy.  Summed in in their documentation: If a folder is selected, its entire contents are copied, <em>regardless of file filters or display filters in effect</em>.  So, no good for what I need.</li>
<li>Various other shareware-type apps - It would just confuse things more to link to them here.</li>
<li><a href="http://www.microsoft.com/net/">Write my own</a> - This was one of those problems where I thought about starting Visual Studio the entire time but I always thought I was going to find the solution any second.  Luckily, I found something that kind of worked.</li>
</ul>
<h3>The Solution</h3>
<p>I&#8217;ve used <a href="http://www.backup4all.com/">Backup4all</a> before backup purposes but it didn&#8217;t occur to me to try it for one-time copies.  I don&#8217;t think there is a free version, but it&#8217;s cheap and does its job very well (it at least has a free 30-day trial).  The secret is to use &#8220;mirror&#8221; mode which means it just copies and doesn&#8217;t try to compress or anything.</p>
<p><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" src="http://thoughtrush.com/blog/wp-content/uploads/2008/04/image2.png" border="0" alt="image" width="397" height="258" /></p>
<p>The workflow is exactly what I wanted.  At it&#8217;s simplest (it has a lot more options), you choose the folders in a treeview (this works for network or local locations):</p>
<p><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" src="http://thoughtrush.com/blog/wp-content/uploads/2008/04/image3.png" border="0" alt="image" width="385" height="334" /></p>
<p>Then add any global include or exclude filters:</p>
<p><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" src="http://thoughtrush.com/blog/wp-content/uploads/2008/04/image4.png" border="0" alt="image" width="425" height="149" /></p>
<p>Then select a destination:</p>
<p><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" src="http://thoughtrush.com/blog/wp-content/uploads/2008/04/image5.png" border="0" alt="image" width="452" height="148" /></p>
<p>Then hit the Backup button:</p>
<p><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" src="http://thoughtrush.com/blog/wp-content/uploads/2008/04/image6.png" border="0" alt="image" width="75" height="55" /></p>
<p>And the filtered list of files is copied!  Such a simple problem to not be able to solve easier.  Hopefully this post will help.</p>
<p>Please comment if you&#8217;ve found a better way to do this.</p>
]]></content:encoded>
			<wfw:commentRss>http://thoughtrush.com/blog/2008/04/15/all-i-want-to-do-is-copy-some-files/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Exercise While Playing XBox ?</title>
		<link>http://thoughtrush.com/blog/2008/04/04/exercise-while-playing-xbox/</link>
		<comments>http://thoughtrush.com/blog/2008/04/04/exercise-while-playing-xbox/#comments</comments>
		<pubDate>Fri, 04 Apr 2008 20:09:25 +0000</pubDate>
		<dc:creator>Blake Tolbert</dc:creator>
		
		<category><![CDATA[General]]></category>

		<category><![CDATA[Tech]]></category>

		<category><![CDATA[exercise ikea dave lifehacker xbox]]></category>

		<guid isPermaLink="false">http://thoughtrush.com/blog/?p=26</guid>
		<description><![CDATA[No, this isn&#8217;t a DDR post, but it&#8217;s close.  
During my regular blast through Lifehacker posts a few weeks ago, this post called Burn 600 Calories a Day Typing (source) caught my eye.  Long story short, Jonathan Fields built a fancy keyboard for his treadmill and he walks slowly all morning long.  [...]]]></description>
			<content:encoded><![CDATA[<p>No, this isn&#8217;t a <a href="http://en.wikipedia.org/wiki/Dance_Dance_Revolution">DDR</a> post, but it&#8217;s close. <img src='http://thoughtrush.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>During my regular blast through Lifehacker posts a few weeks ago, this post called <a href="http://lifehacker.com/366838/burn-600-calories-a-day-typing">Burn 600 Calories a Day Typing</a> (<a href="http://jonathanfields.com/blog/how-i-burn-600-calories-a-day-blogging/">source</a>) caught my eye.  Long story short, Jonathan Fields built a fancy keyboard for his treadmill and he walks slowly all morning long.  Very cool idea!</p>
<p>Then, I saw a comment in the Lifehacker post about somebody who rides his recumbent bike while playing XBox.  That tripped a familiar synapse in my brain that makes me start buying things and waste time that I don&#8217;t have (watch this space for lots more like this one).</p>
<p>See, I have very low willpower when it comes to exercise.  I&#8217;ve tried various different inspirational techniques, but none ever stick (as has everybody I assume).  But&#8230; could playing XBox while exercising distract my mind so much that it forgets it is exercising (what I&#8217;m calling the Critical Distraction Point)?  Through the first two weeks of this experiment, the answer is a solid Yes.</p>
<p><a href="http://thoughtrush.com/blog/wp-content/uploads/2008/04/image.png"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" src="http://thoughtrush.com/blog/wp-content/uploads/2008/04/image-thumb.png" border="0" alt="image" width="527" height="221" /></a></p>
<h3>My Setup</h3>
<p>If you are inspired enough to try this out, you&#8217;ll need a stationary <a href="http://en.wikipedia.org/wiki/Recumbent_bicycle">recumbent bike</a>.  The reason is that with a recumbent bike only your legs move and your upper body is stable.  I bought <a href="http://www.amazon.com/gp/product/B000JC2ZGQ?ie=UTF8&amp;tag=thouginc-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=B000JC2ZGQ">this one from Amazon</a> for just over $200 (and free shipping since I have Prime).  Here&#8217;s a mini-review, Good: It&#8217;s super quiet and perfect for my use.  The LCD display is low (physically) so it doesn&#8217;t obstruct straight-ahead viewing.  Bad: The LCD and programs are certainly not gym quality, but I don&#8217;t really plan to use those anyway.  Here are some pics of my setup:</p>
<p><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" src="http://thoughtrush.com/blog/wp-content/uploads/2008/04/bike1.jpg" border="0" alt="bike1" width="592" height="484" /></p>
<p>With a bit of side turning you can do a bit of laptop work.  Hard to have a laptop in front of you without hitting your knees.  BTW, that&#8217;s the multi-tasking Dave laptop stand from IKEA <a href="http://lifehacker.com/371479/the-dave-laptop-stand">also mentioned on Lifehacker</a> (<a href="http://www.geeksugar.com/1138427">source</a> and <a href="http://www.ikea.com/us/en/catalog/products/20078234">IKEA link</a>) (yes, I&#8217;m easily influenced).</p>
<p><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" src="http://thoughtrush.com/blog/wp-content/uploads/2008/04/bike2.jpg" border="0" alt="bike2" width="445" height="484" /></p>
<p>As you can see, the LCD is not why you&#8217;d buy this.  It does count time well though which is all I need.</p>
<h3>Summary</h3>
<p>If you&#8217;re looking for a great way to trick yourself into exercising (and who isn&#8217;t!) I highly recommend this method.  Until I burn out on it in a few weeks of course. <img src='http://thoughtrush.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
]]></content:encoded>
			<wfw:commentRss>http://thoughtrush.com/blog/2008/04/04/exercise-while-playing-xbox/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Getting Started with WPF</title>
		<link>http://thoughtrush.com/blog/2008/03/29/getting-started-with-wpf/</link>
		<comments>http://thoughtrush.com/blog/2008/03/29/getting-started-with-wpf/#comments</comments>
		<pubDate>Sat, 29 Mar 2008 22:50:42 +0000</pubDate>
		<dc:creator>Blake Tolbert</dc:creator>
		
		<category><![CDATA[.NET]]></category>

		<category><![CDATA[blend]]></category>

		<category><![CDATA[windowsforms]]></category>

		<category><![CDATA[wpf]]></category>

		<category><![CDATA[xaml]]></category>

		<guid isPermaLink="false">http://thoughtrush.com/blog/2008/03/29/getting-started-with-wpf/</guid>
		<description><![CDATA[
I don&#8217;t know about you, but it seems more difficult to get started with Windows Presentation  Foundation (WPF) than it should be.  I&#8217;ve been dabbling with it for a while, but I recently wanted to build a client-side application to track my ongoing projects and decided to resist the temptation to pump out [...]]]></description>
			<content:encoded><![CDATA[<p><img style="border-width: 0px; margin: 0px 0px 3px 3px" src="http://thoughtrush.com/blog/wp-content/uploads/2008/03/image7.png" border="0" alt="image" width="244" height="188" align="right" /></p>
<p>I don&#8217;t know about you, but it seems more difficult to get started with Windows Presentation  Foundation (WPF) than it should be.  I&#8217;ve been dabbling with it for a while, but I recently wanted to build a client-side application to track my ongoing projects and decided to resist the temptation to pump out another Windows Forms app and use the experience to get familiar with WPF.</p>
<p>This post is my recommendation on the best way I&#8217;ve found to ramp up on WPF.</p>
<p>I&#8217;ll likely make a few of these posts as I continue to find valuable resources.  One thing I want to do is make a simple screencast that shows how to make a standard business-style application.  With all the whiz-bang things WPF can do, it seems that real-world examples are hard to find.  <a title="wpfreasons" name="wpfreasons"></a>I&#8217;m less concerned with the sexy graphics aspects (animation, gradients, etc.) and more with the fact that Microsoft is putting all of its resources behind this and my bet is most new client-side GUI innovations (controls, tools, patterns, third party support) will happen here, not in WinForms.</p>
<h3>Who are these posts for?</h3>
<p>It will help if you are exactly like me! <img src='http://thoughtrush.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Who is that?</p>
<p>I&#8217;m starting from a strong background in .NET.  By that I mean all technologies considered part of .NET 2.0.  I have dabbled with the 3.0 technologies (WCF, WPF, LINQ, WF, etc.) but I am still ramping up on those.  This means I have a good working knowledge of XML (which is a considerable help with WPF where most tools don&#8217;t talk code &#8212; they talk XAML).</p>
<p>I&#8217;m not a creative-type person.  There is no doubt that designers love WPF and the designer-coder workflow is much better than it was before, but I won&#8217;t concentrate on design here.  Also, &#8220;user experience&#8221; is a big part of WPF, but I&#8217;m just not approaching it from that angle yet.</p>
<p>Also, I tend to learn better by video, screencasts, and real code rather than articles.  So, the resources below are weighted towards non-text.</p>
<h3>Basics</h3>
<ul>
<li>WPF is the new (well, 2 or 3 year old) client-side development story for .NET.  Windows Forms still exists, but from what I&#8217;ve seen any new development should strongly consider switching to WPF (see <a href="#wpfreasons">above</a>).  There are a few things missing that we have in Windows Forms (like a DataGrid/GridView) but those and much more are on their way (see <a href="http://visitmix.com/blogs/2008Sessions/T11/">this video</a> from MIX08 for upcoming improvements).</li>
<li>WPF takes full advantage of Microsoft&#8217;s new way to express .NET code in XML.  It&#8217;s called XAML (<a href="http://msdn2.microsoft.com/en-us/library/ms752059(VS.85).aspx">here is an overview</a> that is worth a glance but the resources below are better).</li>
<li>Most of these resources assume you have installed (at a minimum) .NET Framework 3.5.  <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=333325FD-AE52-4E35-B531-508D977D32A6&amp;displaylang=en">Download and install here</a>.</li>
</ul>
<h3>Great Resources (How To Learn It)</h3>
<p>This is my version of the most efficient path for learning WPF.  After these you will have a good understanding of how WPF works and some great examples to explore.</p>
<ul>
<li>If you&#8217;re at all serious, go ahead and buy <a href="http://www.amazon.com/gp/product/0672328917?ie=UTF8&amp;tag=thouginc-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0672328917">WPF Unleashed</a> by <a href="http://blogs.msdn.com/adam_nathan/">Adam Nathan</a>.  Don&#8217;t really read it end-to-end, but you will reference it constantly while using the other resources here.  It is very well done.  Read the Amazon reviews for more praise.  <a href="http://www.sellsbrothers.com/spout/">Chris Sells</a> and <a href="http://www.interact-sw.co.uk/iangblog/">Ian Griffith</a>&#8217;s <a href="http://www.amazon.com/Programming-WPF-Chris-Sells/dp/0596510373/thouginc-20">book</a> is also good, but not as clear in my opinion.</li>
<li>I would start with <a href="http://www.visitmix.com/university/wpf/wpfbootcamp.htm">these fantastic WPF Bootcamp videos</a> (actually, the ones <a href="http://www.visitmix.com/university/wpf/bc08/">here</a> are newer versions of the same material although I haven&#8217;t seen them yet &#8212; see Karsten&#8217;s <a href="#karstenblog">blog entry below</a> for a individual download links).  Watch the first three videos (the keynote, lap around WPF, and lap around Blend) to get an overview of what WPF is all about.  By all means, watch these on high speed (see the first sentence in <a href="http://thoughtrush.com/blog/2008/03/17/time-stretching-mp3-and-other-audio/">this post</a> for how to speed up videos &#8212; I couldn&#8217;t easily get the embedded versions to speed up so download them if you want to speed them up).</li>
<li><a href="http://blogs.msdn.com/jfoscoding/articles/765135.aspx">This post</a> by jfo is a bit dated, but I found the attached Word document &#8220;WPF for those who know Windows Forms&#8221; to be a real gem (<a href="http://blogs.msdn.com/jfoscoding/attachment/765135.ashx">direct download link</a>).  It has information that I haven&#8217;t found aggregated anywhere else.  Check the other links on that page, but that article is the great resource even if you aren&#8217;t coming from Windows Forms.</li>
<li>Watch the next two Bootcamp training videos by <a href="http://www.interact-sw.co.uk/iangblog/">Ian Griffiths</a> (or the equivalents in the newer videos).  Really, really good.  These will give you a solid base while whetting your appetite for some intermediate WPF functionality.</li>
<li><a href="http://work.j832.com/">Kevin Moore</a>&#8217;s Bag-o-Tricks (<a href="http://j832.com/bagotricks/">here</a>) is bite-sized chunks of super cool WPF functionality.  Tear into it, check out the code, and see how it works.</li>
<li>The <a href="http://sessions.visitmix.com/">Mix08 videos</a> are largely for designers and the presentation layer.  I haven&#8217;t seen any I would expressly recommend, but there is a lot of content here.</li>
</ul>
<h3>Other Resources</h3>
<p>Most of these are highly recommended but they didn&#8217;t appeal to me like the Great Resources above.</p>
<ul>
<li><a href="http://joshsmithonwpf.wordpress.com/a-guided-tour-of-wpf/">Josh Smith&#8217;s CodeProject articles</a> are a great start, I just think the above are more efficient.</li>
<li><a href="http://windowsclient.net">WindowsClient.net</a> - This is the official site for WPF and Windows Forms.  I find it somewhat painful to navigate and lacking in new content.  The <a href="http://windowsclient.net/wpf/starter-kits/sce.aspx">Syndicated Client Experience starter kit</a> is a fun to explore and is the base of the most popular WPF app to date - the <a href="http://select.nytimes.com/gst/timesreader.html">New York Times Reader</a>.</li>
<li>The Windows SDK samples are neat, but they are somewhat outdated, don&#8217;t really go into real application functionality, and are painful to install.  <a href="http://www.microsoft.com/downloads/details.aspx?familyid=4377f86d-c913-4b5c-b87e-ef72e5b4e065&amp;displaylang=en">Download the SDK here</a> and use <a href="http://www.clariusconsulting.net/blogs/kzu/archive/2007/11/15/HowtocompileandrunALLWPFsamplesintheWindowsSDKwithasinglecommand.aspx">this trick</a> to build and/or run all of the samples at once using <a href="http://www.microsoft.com/windowsserver2003/technologies/management/powershell/default.mspx">Windows PowerShell</a>.</li>
</ul>
<h3>Tools</h3>
<p>Here are some tools that fill in the some gaps left by Visual Studio 2008 and WPF.</p>
<ul>
<li><a href="http://www.microsoft.com/expression/products/overview.aspx?key=blend">Microsoft Expression Blend</a> - Awesome tool to develop WPF interfaces.  It &#8220;blends&#8221; seamlessly with Visual Studio 2008 and makes design-time easier (general interface, animation, and lots more).  It&#8217;s not free, but you can download the preview and beta versions for free.  The latest as of now is the 2.5 March Preview (<a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=32A3E916-E681-4955-BC9F-CFBA49273C7C&amp;displaylang=en">download here</a>).  <a href="http://www.microsoft.com/expression/kc/resources.aspx?product=blend&amp;type=video">Here&#8217;s some fantastic training videos</a> for those interested in the design aspects of Blend.</li>
<li><a href="http://msdn2.microsoft.com/en-us/library/ms742398.aspx">XAMLPad</a> (also see Kaxaml below) - A lightweight XAML editor where you can immediately see the results of your XAML.  Kind of a sandbox for XAML like <a href="http://www.sliver.com/dotnet/SnippetCompiler/">SnippetCompiler</a> is for code.  It comes as part of the <a href="http://www.microsoft.com/downloads/details.aspx?familyid=4377f86d-c913-4b5c-b87e-ef72e5b4e065&amp;displaylang=en">Windows SDK</a>.  In my installation it can be found at C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin .</li>
<li><a href="http://www.kaxaml.com/">Kaxaml</a> - This is easier to install and has many more features than XAMLPad, but you might want XAMLPad anyway to follow most of the examples on the Web.</li>
<li><a href="http://blois.us/Snoop/">Snoop</a> - Visually debug and inspect WPF applications at runtime (Spy++ for WPF).</li>
<li><a href="http://xceed.com/Grid_WPF_Demo.html">Xceed DataGrid for WPF</a> - Until Microsoft makes a DataGrid control you are stuck <a href="http://blogs.msdn.com/atc_avalon_team/archive/2006/02/23/537715.aspx">building your own</a> out of a ListView in GridView mode, <a href="http://geekswithblogs.net/lorint/archive/2006/09/09/90740.aspx">borrowing the WinForms grid</a> (yuck), or using a third party grid.  Xceed&#8217;s grid works well and the express edition is free within some <a href="http://xceed.com/pages/Home/wpf-licensing-faq.aspx?lang=EN-CA">boundaries</a>.  Infragistics <a href="http://www.infragistics.com/dotnet/netadvantage/wpf/xamdatagrid.aspx#Overview">has one too</a> but I usually have bad experiences with their controls and there is no free version that I can see (disclaimer: I have not tried the Infragistics grid).</li>
</ul>
<h3>Blogs</h3>
<p>There are a <a href="http://blogs.msdn.com/tims/articles/475132.aspx">ton</a> of WPF blogs, but these few are relatively active and have been the most helpful to me so far.  Warning: once you start reading these blogs you are on your way down a slippery slope into WPF mastery that will eat up all your time. <img src='http://thoughtrush.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<ul>
<li><a href="http://weblogs.asp.net/scottgu/">Scott Guthrie</a> - Microsoft head of .NET development, so this is the source of it all.</li>
<li><a href="http://joshsmithonwpf.wordpress.com/">Josh Smith</a> - Great teaching style on a wide range of WPF subjects.</li>
<li><a href="http://work.j832.com/">Kevin Moore</a> - The Bag-o-Tricks mentioned above and other insightful posts.</li>
<li><a href="http://www.interact-sw.co.uk/iangblog/">Ian Griffiths</a> - Great in-depth .NET articles (not all WPF).</li>
<li><a href="http://www.drwpf.com/blog/">Dr. WPF</a> - Lots of great info.  No offense to the Dr, but the formatting and layout is a bit rough.  I prefer to read this one in my RSS reader.</li>
<li><a title="karstenblog" name="karstenblog"></a><a href="http://rhizohm.net/irhetoric/">Karsten Januszewski</a> - WPF training info but also a good source of WPF news and events.  Check <a href="http://rhizohm.net/irhetoric/blog/48/default.aspx">here</a> for the 2008 Bootcamp videos and information that I mentioned above.</li>
</ul>
<p>At this point you should have a ton of other resources to check out.  WPF is huge and there is a lot to learn, but these resources should give you a solid start with WPF.  Comment below if you have found anything else remarkable.</p>
<p>I also wanted to point out <a href="http://blogs.msdn.com/karstenj/archive/2006/06/15/632639.aspx">this other Getting Started post</a> by <a href="http://rhizohm.net/irhetoric/">Karsten</a>.  I really like the content but it is getting stale and the links are breaking.</p>
]]></content:encoded>
			<wfw:commentRss>http://thoughtrush.com/blog/2008/03/29/getting-started-with-wpf/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Time stretching MP3 and other audio</title>
		<link>http://thoughtrush.com/blog/2008/03/17/time-stretching-mp3-and-other-audio/</link>
		<comments>http://thoughtrush.com/blog/2008/03/17/time-stretching-mp3-and-other-audio/#comments</comments>
		<pubDate>Mon, 17 Mar 2008 19:40:09 +0000</pubDate>
		<dc:creator>Blake Tolbert</dc:creator>
		
		<category><![CDATA[Tech]]></category>

		<category><![CDATA[foobar2000]]></category>

		<category><![CDATA[mp3]]></category>

		<category><![CDATA[timestretch]]></category>

		<guid isPermaLink="false">http://thoughtrush.com/blog/2008/03/17/time-stretching-mp3-and-other-audio/</guid>
		<description><![CDATA[Want to listen to that 8 hour audio book in 6 hours and not lose any details in the process?
I love Windows Media Player&#8217;s ability to speed up or slow down audio and video in real-time via its awesome Play Speed setting.  This is commonly referred to as time stretching or changing tempo.  [...]]]></description>
			<content:encoded><![CDATA[<p>Want to listen to that 8 hour audio book in 6 hours and not lose any details in the process?</p>
<p>I love Windows Media Player&#8217;s ability to speed up or slow down audio and video in real-time via its awesome <a href="http://www.microsoft.com/windows/windowsmedia/knowledgecenter/howto/PlayFaster_how_to.aspx">Play Speed</a> setting.  This is commonly referred to as <a href="http://en.wikipedia.org/wiki/Audio_timescale-pitch_modification">time stretching</a> or changing tempo.  If you listen to a lot of podcasts and audio books or watch a lot of instructional videos (like I do) this can save hours and hours in the long run.</p>
<p>The problem is that I like to listen to podcasts or audio books in the car, and I don&#8217;t have a fancy PC available to speed audio up in real-time.  My <a href="http://www.sandisk.com/Products/ProductInfo.aspx?ID=1937">Sansa e250</a> with <a href="http://www.rockbox.org/">Rockbox</a> does lots of cool things, but alas it can&#8217;t speed up audio without the dreaded <a href="http://en.wikipedia.org/wiki/Alvin_and_the_Chipmunks#Recording_technique">chipmunk effect</a>.</p>
<p>I looked for a way to easily (and cheaply) time stretch my audio files, but mostly found a bunch of headaches.  There are painful ways to do it with <a href="http://audacity.sourceforge.net/">Audacity</a> (open, apply filter, convert, save, etc.) and other audio editors.  I think there&#8217;s a way to do it through <a href="http://www.winamp.com/">WinAmp</a>.  There are also programs made to specifically convert audio like <a href="http://www.dbpoweramp.com/">dbPoweramp</a>, but I didn&#8217;t have much luck with that (and it&#8217;s not free).</p>
<h3>My Solution</h3>
<p>Here&#8217;s the best solution I&#8217;ve found so far (and I looked long and hard).  It&#8217;s easy to setup and has worked super fantastically so far:</p>
<p><a href="http://www.foobar2000.org/">foobar2000</a> + <a href="http://www.surina.net/soundtouch/">SoundTouch</a> DSP plug-in</p>
<p>1. Download and install foobar2000.</p>
<p>2. Download foo_dsp_soundtouch.dll from wherever you can find it (I got mine from <a href="http://www.sendspace.com/file/dbuvjn">here</a>).  This thing was a pain to find.  You might also need the vc8 runtime files.  They are included in the .NET runtime so might as well <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=333325FD-AE52-4E35-B531-508D977D32A6&amp;displaylang=en">download</a> and install that.  Copy foo_dsp_soundtouch.dll to your foobar2000 components folder.</p>
<p><a href="http://thoughtrush.com/blog/wp-content/uploads/2008/03/image1.png"><img style="border-width: 0px" src="http://thoughtrush.com/blog/wp-content/uploads/2008/03/image-thumb1.png" border="0" alt="image" width="375" height="128" /></a></p>
<p>3. Drop an audio file (or a bunch of audio files) into foobar2000 (or use File -&gt; Open).  I&#8217;ll use an episode of the excellent <a href="http://www.hanselman.com/blog/HanselminutesPodcast103QuetzalBradleyOnTestingAfterUnitTestsAndTheMythOfCodeCoverage.aspx">Hanselminutes</a> podcast as an example.</p>
<p><a href="http://thoughtrush.com/blog/wp-content/uploads/2008/03/image5.png"><img style="border-width: 0px" src="http://thoughtrush.com/blog/wp-content/uploads/2008/03/image-thumb5.png" border="0" alt="image" width="582" height="209" /></a></p>
<p>4. Choose a Convert option from the right-click context menu and set your encoding options (the ones in these pics work well for me).</p>
<p><a href="http://thoughtrush.com/blog/wp-content/uploads/2008/03/image6.png"><img style="border-width: 0px" src="http://thoughtrush.com/blog/wp-content/uploads/2008/03/image-thumb6.png" border="0" alt="image" width="577" height="259" /></a></p>
<p><a href="http://thoughtrush.com/blog/wp-content/uploads/2008/03/image4.png"><img style="border-width: 0px" src="http://thoughtrush.com/blog/wp-content/uploads/2008/03/image-thumb4.png" border="0" alt="image" width="468" height="566" /></a></p>
<p>5. Click OK and watch it churn out your sped up mp3(s).</p>
<h3>Tips and Thoughts</h3>
<p>I&#8217;ve been using 25% speed-up on audio books and informational podcasts and 12.5% on entertainment-related podcasts like <a href="http://dawnanddrewwp.podshow.com/">Dawn and Drew</a>.  At 25% it&#8217;s easily listenable but you can really tell it&#8217;s sped up.  At 12.5% you can really only tell if you listen to the original along side it.  Also, I feel like I concentrate and pick up more (kind of a <a href="http://en.wikipedia.org/wiki/Flow_(psychology)">&#8220;flow&#8221;</a> thing) when it is sped up.</p>
<p>Being able to drag and drop a bunch of files, right click once, and watch all the converted mp3s pop out is an amazing efficiency over some of the other methods I found.</p>
<p>So, let me know if you&#8217;ve found alternate solutions or can improve on this one (I haven&#8217;t tweaked many of the settings).  And if you want to start looking forward to that hour-long drive to work in the morning, buy a cheap mp3 player and <a href="http://www.studio360.org/">check</a> <a href="http://www.thislife.org/">some</a> <a href="http://www.cbc.ca/quirks/">of</a> <a href="http://www.dotnetrocks.com/">these</a> <a href="http://www.twit.tv/TWiT/">podcasts</a> <a href="http://revision3.com/diggnation/">out</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://thoughtrush.com/blog/2008/03/17/time-stretching-mp3-and-other-audio/feed/</wfw:commentRss>
		</item>
		<item>
		<title>So, this is my blog&#8230;</title>
		<link>http://thoughtrush.com/blog/2008/03/12/so-this-is-my-blog/</link>
		<comments>http://thoughtrush.com/blog/2008/03/12/so-this-is-my-blog/#comments</comments>
		<pubDate>Thu, 13 Mar 2008 02:40:58 +0000</pubDate>
		<dc:creator>Blake Tolbert</dc:creator>
		
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://thoughtrush.com/blog/2008/03/12/so-this-is-my-blog/</guid>
		<description><![CDATA[Hello, World!&#160; My name is Blake and I want to share things with you.&#160; No, not those kinds of things.&#160; Nice things.&#160; Like knowledge.&#160; I consider myself an accidental learner which means I stumble though information at various levels of efficiency and absorb stuff as I go.&#160; That results in a lot of breadth without [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://thoughtrush.com/blog/wp-content/uploads/2008/03/image.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="244" alt="image" src="http://thoughtrush.com/blog/wp-content/uploads/2008/03/image-thumb.png" width="179" align="right" border="0" /></a>Hello, World!&#160; My name is Blake and I want to share things with you.&#160; No, not those kinds of things.&#160; Nice things.&#160; Like knowledge.&#160; I consider myself an accidental learner which means I stumble though information at various levels of efficiency and absorb stuff as I go.&#160; That results in a lot of breadth without a lot of depth which is due to a bit of ADD and is sometimes a dangerous thing. <img src='http://thoughtrush.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Professionally, I am employed by a company named <a href="http://topcoder.com">TopCoder</a>.&#160; You might know them from their <a href="http://topcoder.com/tc">algorithm programming competitions</a> (if you know C#, VB.NET, C++, or Java, I <em>highly</em> recommend them &#8212; super fun).&#160; My work is on the <a href="http://software.topcoder.com">software side</a> of things.&#160; We build enterprise software for customers using competitions through our member base.&#160; I&#8217;m a project manager (sometimes architect) and have various responsibilities including launching some exciting and lucrative software <a href="http://www.topcoder.com/tc?module=ViewActiveContests&amp;ph=112">design</a> and <a href="http://www.topcoder.com/tc?module=ViewActiveContests&amp;ph=113">development</a> competitions.&#160; I won&#8217;t talk about that much in this blog but comment if you are interested.</p>
<p>For fun, I&#8217;m mostly a nerd.&#160; I do the normal geek stuff - read a lot of blogs, write a bunch of code (.NET mostly), and read a lot of books.&#160; I also play some golf (not as much as I&#8217;d like) and watch some sports (again, not as much as I&#8217;d like).&#160; </p>
<p>So, expect tech, sports, possibly a bit of politics, and whatever else is on my mind.</p>
<p>Welcome!</p>
]]></content:encoded>
			<wfw:commentRss>http://thoughtrush.com/blog/2008/03/12/so-this-is-my-blog/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
