<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Ryan Eastabrook</title>
	<atom:link href="http://ryaneastabrook.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://ryaneastabrook.wordpress.com</link>
	<description>Life and career</description>
	<lastBuildDate>Fri, 28 May 2010 05:02:12 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='ryaneastabrook.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Ryan Eastabrook</title>
		<link>http://ryaneastabrook.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://ryaneastabrook.wordpress.com/osd.xml" title="Ryan Eastabrook" />
	<atom:link rel='hub' href='http://ryaneastabrook.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Code and slides from &#8220;using jQuery to simplify your life&#8221;</title>
		<link>http://ryaneastabrook.wordpress.com/2010/05/27/code-and-slides-from-using-jquery-to-simplify-your-life/</link>
		<comments>http://ryaneastabrook.wordpress.com/2010/05/27/code-and-slides-from-using-jquery-to-simplify-your-life/#comments</comments>
		<pubDate>Fri, 28 May 2010 05:02:12 +0000</pubDate>
		<dc:creator>Ryan Eastabrook</dc:creator>
				<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://ryaneastabrook.wordpress.com/?p=21</guid>
		<description><![CDATA[As promised, here are the code and slides from the &#8220;using jQuery to simplify your life&#8221; talk I gave at Portland Code Camp 2010.  Thank you to everyone who attended, it was an excellent event with many great speakers giving many great presentations. Demo Code Demo Slides The demo application is written in Asp.net MVC [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ryaneastabrook.wordpress.com&amp;blog=11995419&amp;post=21&amp;subd=ryaneastabrook&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>As promised, here are the code and slides from the &#8220;using jQuery to simplify your life&#8221; talk I gave at Portland Code Camp 2010.  Thank you to everyone who attended, it was an excellent event with many great speakers giving many great presentations.</p>
<p><a title="Demo Code" href="http://www.mantratechnology.com/jquerydemo.zip">Demo Code</a></p>
<p><a href="http://ryaneastabrook.files.wordpress.com/2010/05/intro-to-jquery.pptx">Demo Slides</a></p>
<p>The demo application is written in Asp.net MVC 2, however, it can be written in anything as long as you have a reference to the jQuery library.  The only example that will give you trouble is the ajax example which requires a database, and a change to the connection string in web.config.</p>
<p>If you have any questions or need any help just let me know.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ryaneastabrook.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ryaneastabrook.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ryaneastabrook.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ryaneastabrook.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ryaneastabrook.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ryaneastabrook.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ryaneastabrook.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ryaneastabrook.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ryaneastabrook.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ryaneastabrook.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ryaneastabrook.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ryaneastabrook.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ryaneastabrook.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ryaneastabrook.wordpress.com/21/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ryaneastabrook.wordpress.com&amp;blog=11995419&amp;post=21&amp;subd=ryaneastabrook&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ryaneastabrook.wordpress.com/2010/05/27/code-and-slides-from-using-jquery-to-simplify-your-life/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6571c56736a2ff71192b6e94c227171f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Ryan Eastabrook</media:title>
		</media:content>
	</item>
		<item>
		<title>A simple jQuery plugin for temporarily displaying any DOM element</title>
		<link>http://ryaneastabrook.wordpress.com/2010/02/18/a-simple-jquery-plugin-for-temporarily-displaying-any-dom-element/</link>
		<comments>http://ryaneastabrook.wordpress.com/2010/02/18/a-simple-jquery-plugin-for-temporarily-displaying-any-dom-element/#comments</comments>
		<pubDate>Fri, 19 Feb 2010 04:03:19 +0000</pubDate>
		<dc:creator>Ryan Eastabrook</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[jquery plugins]]></category>

		<guid isPermaLink="false">http://ryaneastabrook.wordpress.com/2010/02/18/a-simple-jquery-plugin-for-temporarily-displaying-any-dom-element/</guid>
		<description><![CDATA[So before I get started, I’m sure there are a lot of these plugins floating around, I haven’t bothered to look for one as I wanted to write one from scratch (just for the sport of it ). My initial goal was to display a temporary “Your data has been saved” message, once a specific [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ryaneastabrook.wordpress.com&amp;blog=11995419&amp;post=13&amp;subd=ryaneastabrook&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>So before I get started, I’m sure there are a lot of these plugins floating around, I haven’t bothered to look for one as I wanted to write one from scratch (just for the sport of it <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  ).</p>
<p>My initial goal was to display a temporary “Your data has been saved” message, once a specific interval has been reached, the element would go away.  Quickly seeing an opportunity to make this work on a universal level (displaying any element in the DOM temporarily), I decided to write this simple plugin:</p>
<pre class="code">(function($) {

$.fn.tempDisplay.defaults = {
    delay: 3000
};

$.fn.tempDisplay = <span style="color:blue;">function </span>(options) {

    var settings = $.extend({ }, $.fn.tempDisplay.defaults, options);

    <span style="color:blue;">this</span>.each(<span style="color:blue;">function </span>() {

        <span style="color:blue;">var </span>$this = $(<span style="color:blue;">this</span>);

        $this.show(<span style="color:maroon;">"fast"</span>);

        setTimeout(<span style="color:blue;">function </span>() {
            $this.hide(<span style="color:maroon;">"slow"</span>);
        }, settings.delay);

    });

    <span style="color:blue;">return this</span>;

};

})(jQuery)</pre>
<p><em>One thing to note about this if you’re not familiar with jQuery plugins, this must come after the jquery include on your page, otherwise the objects do not exist <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </em></p>
<p>As you can see, there isn’t much to it.  I have created one option which is the interval the element should delay hiding itself.  There are other options I might want to play with here like the show/hide speed, and the show/hide effect, however, this works for my needs at the moment.</p>
<p>Once you have declared this plugin, you can simply use it like so:</p>
<pre class="code">$(<span style="color:blue;">function </span>() {

    $(<span style="color:maroon;">".temp-message"</span>).tempDisplay({ delay: 5000 });

});</pre>
<p>Remember, this will only work if you register the elements in the page load, as is the case in the above code snippet.</p>
<p>I have only used it for one scenario, and I can envision many more, I may update it if I feel frisky enough to extend the code.  Feel free to copy this code and use it to your hearts desire.  Hope it helps give someone a leg up on their project!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ryaneastabrook.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ryaneastabrook.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ryaneastabrook.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ryaneastabrook.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ryaneastabrook.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ryaneastabrook.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ryaneastabrook.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ryaneastabrook.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ryaneastabrook.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ryaneastabrook.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ryaneastabrook.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ryaneastabrook.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ryaneastabrook.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ryaneastabrook.wordpress.com/13/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ryaneastabrook.wordpress.com&amp;blog=11995419&amp;post=13&amp;subd=ryaneastabrook&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ryaneastabrook.wordpress.com/2010/02/18/a-simple-jquery-plugin-for-temporarily-displaying-any-dom-element/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6571c56736a2ff71192b6e94c227171f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Ryan Eastabrook</media:title>
		</media:content>
	</item>
		<item>
		<title>Why is automated unit testing important?</title>
		<link>http://ryaneastabrook.wordpress.com/2010/02/16/why-is-automated-unit-testing-important/</link>
		<comments>http://ryaneastabrook.wordpress.com/2010/02/16/why-is-automated-unit-testing-important/#comments</comments>
		<pubDate>Wed, 17 Feb 2010 04:21:05 +0000</pubDate>
		<dc:creator>Ryan Eastabrook</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[unit-testing]]></category>

		<guid isPermaLink="false">http://ryaneastabrook.wordpress.com/2010/02/16/why-is-automated-unit-testing-important/</guid>
		<description><![CDATA[I’ll be honest, initially I didn’t understand how automated testing can improve the design and quality of my code.  Before I actually tried it, my initial reaction was that it adds a ton of overhead to a project to test up front…this was several years ago, you won’t hear me saying that today…another lesson learned.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ryaneastabrook.wordpress.com&amp;blog=11995419&amp;post=6&amp;subd=ryaneastabrook&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I’ll be honest, initially I didn’t understand how automated testing can improve the design and quality of my code.  Before I actually tried it, my initial reaction was that it adds a ton of overhead to a project to test up front…this was several years ago, you won’t hear me saying that today…another lesson learned.</p>
<p>Recently, I encountered a development team that has zero automated unit tests (or any other types of tests for that matter; integration, regression, etc..), I have attempted to bring them around, however, I’m met with serious pushback from the dev leads and other team members who are used to the current system.  When I talk about testing I can see the elders of the team glaze over, and say ‘we’ve tried that’ or ‘we don’t do that here’.  This team manages several legacy applications, each of them are at least medium sized,  business critical applications.  I have to ask myself one question, when changes are made to this legacy codebase, how can they be sure they aren’t destroying other functionality in another subsystem or application?  I couldn’t believe there were still teams that don’t see the benefits of automated test harnesses.</p>
<p>So, what are some of the advantages of implementing automated unit tests?</p>
<ol>
<li>It promotes good design: you will write less code if you follow a development methodology like <a href="http://www.agiledata.org/essays/tdd.html" target="_blank">test-driven development</a>, or <a href="http://behaviour-driven.org/" target="_blank">behavior-driven development</a>. You only write code that will make your test pass (all green lights are good), which will stop (or at least limit) the <a href="http://behaviour-driven.org/" target="_blank">YAGNI</a> coding behavior.</li>
<li>In a collaborative environment you will have less break-fix issues: By being able to simply open a solution file, update from source control, and run a test harness all within your IDE you can be rest assured that (if your tests are written properly and there is adequate coverage) updates from other developers have not broken any code under test.</li>
<li>The obvious, test coverage for simple and complex logic: Ever wonder if that complex shipping algorithm is actually performing the logic you were intending it to run?  Or, are you sure those simple classes and operations are <em>actually</em> working?  You’re sure?</li>
<li>If done correctly, the tests can serve as your specifications for features: If you have good user stories with appropriate success criteria, you can write a test for each piece of functionality, which will then automatically serve as a good basis for customer and QA acceptance.</li>
</ol>
<p>The benefits of a testing framework far out way the up front ROI of actually writing the tests.  You will be surprised how much your quality improves if done correctly.  Convincing you manager and team to get on board seems extremely logical, and in my opinion is a must…especially when you have 0 tests currently.</p>
<ol>There are tons of good resources all over the internets that explain how to get started writing unit tests, here are just a few (if you have more, please leave comment…most are .net centric, but there are tons of resources for other frameworks):</ol>
<ul>
<li>Definition: <a title="http://en.wikipedia.org/wiki/Unit_testing" href="http://en.wikipedia.org/wiki/Unit_testing">http://en.wikipedia.org/wiki/Unit_testing</a></li>
<li>Test Framework (.net): <a title="http://www.nunit.org/index.php" href="http://www.nunit.org/index.php">http://www.nunit.org/index.php</a></li>
<li>How (.net): <a title="http://msdn.microsoft.com/en-us/magazine/cc163665.aspx" href="http://msdn.microsoft.com/en-us/magazine/cc163665.aspx">http://msdn.microsoft.com/en-us/magazine/cc163665.aspx</a></li>
<li>How (Java): <a title="http://www.basilv.com/psd/blog/2006/how-to-write-good-unit-tests" href="http://www.basilv.com/psd/blog/2006/how-to-write-good-unit-tests">http://www.basilv.com/psd/blog/2006/how-to-write-good-unit-tests</a></li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ryaneastabrook.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ryaneastabrook.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ryaneastabrook.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ryaneastabrook.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ryaneastabrook.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ryaneastabrook.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ryaneastabrook.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ryaneastabrook.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ryaneastabrook.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ryaneastabrook.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ryaneastabrook.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ryaneastabrook.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ryaneastabrook.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ryaneastabrook.wordpress.com/6/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ryaneastabrook.wordpress.com&amp;blog=11995419&amp;post=6&amp;subd=ryaneastabrook&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ryaneastabrook.wordpress.com/2010/02/16/why-is-automated-unit-testing-important/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6571c56736a2ff71192b6e94c227171f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Ryan Eastabrook</media:title>
		</media:content>
	</item>
	</channel>
</rss>
