<?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/"
	>

<channel>
	<title>Tim Banks &#187; Web</title>
	<atom:link href="http://thetimbanks.com/category/web/feed/" rel="self" type="application/rss+xml" />
	<link>http://thetimbanks.com</link>
	<description></description>
	<lastBuildDate>Mon, 20 Feb 2012 04:33:32 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>jQuery Extension: removeClassExcept() method</title>
		<link>http://thetimbanks.com/2011/10/19/jquery-extension-removeclassexcept-method/</link>
		<comments>http://thetimbanks.com/2011/10/19/jquery-extension-removeclassexcept-method/#comments</comments>
		<pubDate>Wed, 19 Oct 2011 19:27:51 +0000</pubDate>
		<dc:creator>Tim Banks</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[jquery extension]]></category>
		<category><![CDATA[remove class]]></category>
		<category><![CDATA[remove class except]]></category>

		<guid isPermaLink="false">http://thetimbanks.com/?p=240</guid>
		<description><![CDATA[I came across a question on StackOverflow.com where the user wanted the ability to remove all classes from an element except certain ones.  For example if I had the following element How would you go about removing all classes except for &#8220;aa&#8221; and &#8220;bb&#8221;?  One way would be to just set the class attribute to the [...]]]></description>
			<content:encoded><![CDATA[<p>I came across a question on <a href="http://stackoverflow.com/questions/7826379/jquery-removeclass-but-not-certain-classes/7826461">StackOverflow.com</a> where the user wanted the ability to remove all classes from an element except certain ones.  For example if I had the following element</p>
<pre class="brush: xml; title: ; notranslate">
&lt;div class=&quot;aa bb cc dd ee&quot;&gt;Lorem Ipsum&lt;/div&gt;
</pre>
<p>How would you go about removing all classes except for &#8220;aa&#8221; and &#8220;bb&#8221;?  One way would be to just set the class attribute to the classes you wanted to keep.</p>
<pre class="brush: jscript; title: ; notranslate">

$(&quot;div&quot;).attr(&quot;class&quot;, &quot;aa bb&quot;);
</pre>
<p>That&#8217;s easy enough.  Another way would be to use some built in jQuery methods.</p>
<pre class="brush: jscript; title: ; notranslate">

$(&quot;div&quot;).removeClass().addClass(&quot;aa bb&quot;);
</pre>
<p>The previous code would remove all classes and then add back the ones that were needed.  That snippet could be put into a jQuery extension to make it easier to call.</p>
<pre class="brush: jscript; title: ; notranslate">

jQuery.fn.removeClassExcept = function (val) {
    return this.each(function () {
        $(this).removeClass().addClass(val);
    });
};

$(&quot;div&quot;).removeClassExcept(&quot;aa bb&quot;);
</pre>
<p>That makes the code look cleaner.  One problem both of these solutions have is they don&#8217;t check to see if the class already exists before adding it.  On the Stack Overflow question, <a href="http://stackoverflow.com/users/298053/brad-christie">Brad Christie</a> proposed a solution to handle the case where you didn&#8217;t want to add a class unless it already existed.  The updated extension now takes that into consideration.</p>
<pre class="brush: jscript; title: ; notranslate">

jQuery.fn.removeClassExcept = function (val) {
    return this.each(function (index, el) {
        var keep = val.split(&quot; &quot;),  // list we'd like to keep
            reAdd = [],          // ones that should be re-added if found
            $el = $(el);       // element we're working on

        // look for which we re-add (based on them already existing)
        for (var i = 0; i &lt; keep.length; i++){
            if ($el.hasClass(keep[i])) reAdd.push(keep[i]);
         }

         // drop all, and only add those confirmed as existing
         $el
            .removeClass()               // remove existing classes
            .addClass(reAdd.join(' '));  // re-add the confirmed ones
    });
};
</pre>
<p>Here is a jsFiddle showing the use of removeClassExcept(): <a href="http://jsfiddle.net/9xhND/1/">http://jsfiddle.net/9xhND/1/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://thetimbanks.com/2011/10/19/jquery-extension-removeclassexcept-method/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Recreating Google+ Expanding Image Stack</title>
		<link>http://thetimbanks.com/2011/09/20/recreating-google-expanding-image-stack/</link>
		<comments>http://thetimbanks.com/2011/09/20/recreating-google-expanding-image-stack/#comments</comments>
		<pubDate>Tue, 20 Sep 2011 14:34:45 +0000</pubDate>
		<dc:creator>Tim Banks</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Walkthrough]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[webkit]]></category>

		<guid isPermaLink="false">http://thetimbanks.com/?p=194</guid>
		<description><![CDATA[Skip straight to the demo After taking some time to browse around Google+ I noticed a cool effect on the albums page when hovering over an album. If the album had multiple images in it, the stack would expand to show the first 3 images inside the album. You can see an example of it [...]]]></description>
			<content:encoded><![CDATA[<p><a href="/demos/GooglePlusImage/">Skip straight to the demo</a></p>
<p>After taking some time to browse around Google+ I noticed a cool effect on the albums page when hovering over an album. If the album had multiple images in it, the stack would expand to show the first 3 images inside the album. You can see an example of it here: <a href="https://plus.google.com/photos/105135327491673313070/albums">https://plus.google.com/photos/105135327491673313070/albums</a>.</p>
<p>I thought it would be neat to try and reproduce this effect. This example will work in Chrome, Firefox 4+, and Safari 4+.</p>
<p><strong>Step 1 &#8211; Get images</strong></p>
<p>The only thing we need to do in step 1 is get 3 images of the same size and put them into a block element.  I grabbed 3 images from my Google+ account and put them in a div with the id of &#8220;photo-stack&#8221;.</p>
<pre class="brush: xml; title: ; notranslate">
&lt;div id=&quot;photo-stack&quot;&gt;
    &lt;img src=&quot;https://lh3.googleusercontent.com/-khtZ0GBqcOI/Th2kD8vv0ZE/AAAAAAAAACU/rd3t2O6QI-o/s195-c/BVI2008&quot; /&gt;
    &lt;img src=&quot;https://lh3.googleusercontent.com/-ZpghGAz-jZE/Th2kECfNChI/AAAAAAAAACI/VAtLWAuUbf0/s195-c/photo.jpg&quot; /&gt;
    &lt;img src=&quot;https://lh4.googleusercontent.com/-xcrH8Z9qHqI/Th2kEMhqQ1I/AAAAAAAAACA/jL8ZZTTpqA4/s195-c/photo.jpg&quot; /&gt;
&lt;/div&gt;
</pre>
<p><a href="/demos/GooglePlusImage/step1.html">View Step 1</a></p>
<p><strong>Step 2 &#8211; Stacking</strong></p>
<p>Now that we have our 3 images let stack them on top of each other.  This is accomplished by positioning each of them absolutely on top of each other.</p>
<pre class="brush: css; title: ; notranslate">

#photo-stack { position: relative;}

#photo-stack img { position: absolute; top: 0; left: 0;}
</pre>
<p>That looks good, but I want the first image in the DOM to appear on top.  In that case we need to set the z-index of each image.  I am going to use the nth-child property so we don&#8217;t have to add classes to each image.</p>
<pre class="brush: css; title: ; notranslate">

#photo-stack img:nth-child(1) { z-index: 3;}

#photo-stack img:nth-child(2) { z-index: 2;}

#photo-stack img:nth-child(3) { z-index: 1;}
</pre>
<p>Now the first image is on the top!</p>
<p><a href="/demos/GooglePlusImage/step2.html">View Step 2</a></p>
<p><strong>Step 3 &#8211; Moving</strong></p>
<p>Let&#8217;s start working on the animation.  The animation has 3 parts to it: movement of the images, rotation of the images, and the size of the images.</p>
<p>We can handle the movement of the images by using the translate value of the transform property.  We are going to use the nth-child property just like we did in the last step in order to target each image individually.</p>
<p>Translate takes 2 values for the x and y movement.  Since the second image isn&#8217;t moving we are only going to move the first and last images.</p>
<pre class="brush: css; title: ; notranslate">

#photo-stack:hover img:nth-child(1) {
    -webkit-transform: translate(-50px, 0px);
}
#photo-stack:hover img:nth-child(3) {
    -webkit-transform: translate(50px, 0px);
}
</pre>
<p><a href="/demos/GooglePlusImage/step3.html">View Step 3</a></p>
<p><strong>Step 4 &#8211; Rotating</strong></p>
<p>Now that we have the images moving apart we can rotate the outer image.  Rotate only takes 1 argument for the amount of degrees you want to rotate the element.  Once again the middle image is not being rotated so we will not worry about it.</p>
<pre class="brush: css; title: ; notranslate">

#photo-stack:hover img:nth-child(1) {
    -webkit-transform: rotate(5deg);
}
#photo-stack:hover img:nth-child(3) {
    -webkit-transform: rotate(-5deg);
}
</pre>
<p>We are getting close!  <a href="/demos/GooglePlusImage/step4.html">View Step 4</a></p>
<p><strong>Step 5 &#8211; Scaling</strong></p>
<p>The images need to grow a little in size when they are spreading apart.  By using the scale property we can pass in a value to change the size of the image (1 being 100%).</p>
<pre class="brush: css; title: ; notranslate">

#photo-stack:hover img:nth-child(1) {
    -webkit-transform: scale(1.1);
}
#photo-stack:hover img:nth-child(2) {
    -webkit-transform: scale(1.1);
}
#photo-stack:hover img:nth-child(3) {
    -webkit-transform: scale(1.1);
}
</pre>
<p><a href="/demos/GooglePlusImage/step5.html">View Step 5</a></p>
<p><strong>Step 6 &#8211; Animating</strong></p>
<p>In order to get the transforms to animate when hovering, only 1 line of code needs to be added.  The -webkit-transition line takes 3 arguments: property to animate, amount of time, and animation timeline.  In our case we want to animate the -webkit-transorm property for .25 seconds and have a linear timeline.</p>
<pre class="brush: css; title: ; notranslate">

#photo-stack img {  -webkit-transition: -webkit-transform .25s linear;}
</pre>
<p><a href="/demos/GooglePlusImage/step6.html">View Step 6</a></p>
<p><strong>Step 7 &#8211; Cleanup</strong></p>
<p>The look can be cleaned up a little by applying some additional styles.  Now it looks like a real stack of photos!</p>
<p><a href="/demos/GooglePlusImage/">View Final Demo</a></p>
<p>Let me know what you thought of the tutorial or if you put this to use on one of your sites!</p>
]]></content:encoded>
			<wfw:commentRss>http://thetimbanks.com/2011/09/20/recreating-google-expanding-image-stack/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>jQuery Extension: toggleText() method</title>
		<link>http://thetimbanks.com/2011/03/22/jquery-extension-toggletext-method/</link>
		<comments>http://thetimbanks.com/2011/03/22/jquery-extension-toggletext-method/#comments</comments>
		<pubDate>Tue, 22 Mar 2011 12:48:45 +0000</pubDate>
		<dc:creator>Tim Banks</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[jquery extension]]></category>
		<category><![CDATA[jquery plugin]]></category>
		<category><![CDATA[toggle]]></category>
		<category><![CDATA[toggletext]]></category>

		<guid isPermaLink="false">http://thetimbanks.com/?p=153</guid>
		<description><![CDATA[Skip straight to the demo. Here&#8217;s a situation I have run into multiple times: I have a hidden area that is toggled by a link.  The link will usually say &#8220;Show *&#8221;, and once it is clicked it will say &#8220;Hide *&#8221;.  I would usually just check the text when the link is clicked and [...]]]></description>
			<content:encoded><![CDATA[<p>Skip straight to the <a href="http://thetimbanks.com/demos/jquery/extensions/toggleText/">demo</a>.</p>
<p>Here&#8217;s a situation I have run into multiple times: I have a hidden area that is toggled by a link.  The link will usually say &#8220;Show *&#8221;, and once it is clicked it will say &#8220;Hide *&#8221;.  I would usually just check the text when the link is clicked and switch it.  Similar to the following:</p>
<pre class="brush: jscript; title: ; notranslate">
$(&quot;a&quot;).click(function() {
    var $self = $(this);
    if ($self.text() == &quot;Show items&quot;)
       $self.text(&quot;Hide items&quot;);
    else
        $self.text(&quot;Show items&quot;);
});
</pre>
<p>It would get tedious to add this to every link that toggled the view on an element.  In order to make it easier on myself I threw together a little extension for jQuery.  You pass it 2 string values representing the text that you would like to toggle.  Here is an example usage that does the same thing as the code block above:</p>
<pre class="brush: jscript; title: ; notranslate">
$(&quot;a&quot;).click(function() {
    $(this).toggleText(&quot;Show&quot;, &quot;Hide&quot;);
});
</pre>
<p>The extension looks for the first value in the element&#8217;s text and if it exists, it is replaced with the second value.  If the first value doesn&#8217;t exist in the element&#8217;s text, it looks for the second value in the text and replaces it with the first value.   Here is the source:</p>
<pre class="brush: jscript; title: ; notranslate">
jQuery.fn.toggleText = function (value1, value2) {
    return this.each(function () {
        var $this = $(this),
            text = $this.text();

        if (text.indexOf(value1) &gt; -1)
            $this.text(text.replace(value1, value2));
        else
            $this.text(text.replace(value2, value1));
    });
};
</pre>
<p>To see it in action, you can <a href="http://thetimbanks.com/demos/jquery/extensions/toggleText/">view the demo</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://thetimbanks.com/2011/03/22/jquery-extension-toggletext-method/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Very poor use of CSS on the Netflix website</title>
		<link>http://thetimbanks.com/2011/02/23/very-poor-use-of-css-on-the-netflix-website/</link>
		<comments>http://thetimbanks.com/2011/02/23/very-poor-use-of-css-on-the-netflix-website/#comments</comments>
		<pubDate>Wed, 23 Feb 2011 22:18:05 +0000</pubDate>
		<dc:creator>Tim Banks</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[Netflix]]></category>

		<guid isPermaLink="false">http://thetimbanks.com/?p=66</guid>
		<description><![CDATA[Awhile ago I was signing up to get the PS3 Netflix disc and decided to inspect the source of the page.  Shame on you Netflix.]]></description>
			<content:encoded><![CDATA[<p>Awhile ago I was signing up to get the PS3 Netflix disc and decided to inspect the source of the page.  Shame on you Netflix.</p>
<p><a href="http://thetimbanks.com/wp-content/uploads/2010/01/NetflixBadCss.png"><img class="aligncenter size-medium wp-image-67" title="Netflix does not use CSS correctly" src="http://thetimbanks.com/wp-content/uploads/2010/01/NetflixBadCss-300x199.png" alt="" width="300" height="199" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://thetimbanks.com/2011/02/23/very-poor-use-of-css-on-the-netflix-website/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Testing the iOS 4.1 HD video upload to YouTube</title>
		<link>http://thetimbanks.com/2010/09/08/testing-the-ios-4-1-hd-video-upload-to-youtube/</link>
		<comments>http://thetimbanks.com/2010/09/08/testing-the-ios-4-1-hd-video-upload-to-youtube/#comments</comments>
		<pubDate>Wed, 08 Sep 2010 20:12:25 +0000</pubDate>
		<dc:creator>Tim Banks</dc:creator>
				<category><![CDATA[iOS]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[HD Video]]></category>
		<category><![CDATA[iOS 4]]></category>
		<category><![CDATA[Video]]></category>

		<guid isPermaLink="false">http://thetimbanks.com/?p=97</guid>
		<description><![CDATA[Today Apple released iOS 4.1 for the iPhone 4, 3GS, and 3G.  One of the noted features was HD video upload to YouTube.  I have uploaded a couple videos to YouTube in the past and the quality was far from desired.  After the installation I took a quick 20 second video of the view from [...]]]></description>
			<content:encoded><![CDATA[<p>Today Apple released iOS 4.1 for the iPhone 4, 3GS, and 3G.  One of the noted features was HD video upload to YouTube.  I have uploaded a couple videos to YouTube in the past and the quality was far from desired.  After the installation I took a quick 20 second video of the view from my porch outside.  I selected the option to upload to YouTube and let the phone go to work.</p>
<p>The upload process was actually pretty quick.  The video is was 6.8 Mb and it took about a minute or 2 to upload.  As soon as it was uploaded it was viewable online which was pretty nice.  Below you will find the video that I uploaded.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="640" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/0udHlAn7JoE?fs=1&amp;hl=en_US" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="640" height="385" src="http://www.youtube.com/v/0udHlAn7JoE?fs=1&amp;hl=en_US" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p><span style="text-decoration: line-through;">The first thing I noticed was that the 720p option was not available to select.  The phone can apparently support up to 720p recording so I am confused as to why it didn&#8217;t upload in 720p.  Other than that the video turned out pretty good.  I think this might be a nice feature to actually use in the future.</span></p>
<p><strong>UPDATE</strong>:  It looks like the 720p option is now available.  It must take a little extra time for some processing to happen on the server.  This is exactly what I was looking for when Apple first announced the ability to upload straight to YouTube.</p>
]]></content:encoded>
			<wfw:commentRss>http://thetimbanks.com/2010/09/08/testing-the-ios-4-1-hd-video-upload-to-youtube/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ridiculous RAM Requirement when signing up for DSL Service</title>
		<link>http://thetimbanks.com/2010/08/31/ridiculous-ram-requirement-when-signing-up-for-dsl-service/</link>
		<comments>http://thetimbanks.com/2010/08/31/ridiculous-ram-requirement-when-signing-up-for-dsl-service/#comments</comments>
		<pubDate>Wed, 01 Sep 2010 00:58:00 +0000</pubDate>
		<dc:creator>Tim Banks</dc:creator>
				<category><![CDATA[Entertainment]]></category>
		<category><![CDATA[Funny]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://thetimbanks.com/?p=86</guid>
		<description><![CDATA[I was recently trying to find the best price for internet service in my area and came across a question asking me how much RAM my computer has.  I was surprised by the options in the dropdown. Luckily I had at least the minimum requirements.]]></description>
			<content:encoded><![CDATA[<p>I was recently trying to find the best price for internet service in my area and came across a question asking me how much RAM my computer has.  I was surprised by the options in the dropdown.</p>
<div id="attachment_92" class="wp-caption aligncenter" style="width: 559px"><a href="http://thetimbanks.com/wp-content/uploads/2010/08/RAMReq2.png"><img class="size-full wp-image-92 " title="RAMReq" src="http://thetimbanks.com/wp-content/uploads/2010/08/RAMReq2.png" alt="" width="549" height="68" /></a><p class="wp-caption-text">32MB, really?</p></div>
<p>Luckily I had at least the minimum requirements.</p>
]]></content:encoded>
			<wfw:commentRss>http://thetimbanks.com/2010/08/31/ridiculous-ram-requirement-when-signing-up-for-dsl-service/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using jQuery and YQL to get an RSS feed from a site</title>
		<link>http://thetimbanks.com/2010/08/03/using-jquery-and-yql-to-get-an-rss-feed-from-a-site/</link>
		<comments>http://thetimbanks.com/2010/08/03/using-jquery-and-yql-to-get-an-rss-feed-from-a-site/#comments</comments>
		<pubDate>Tue, 03 Aug 2010 16:18:00 +0000</pubDate>
		<dc:creator>Tim Banks</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[RSS]]></category>
		<category><![CDATA[YQL]]></category>

		<guid isPermaLink="false">http://thetimbanks.com/?p=81</guid>
		<description><![CDATA[I forgot to post a link to this earlier, but I wrote a blog post on using jQuery and YQL to get an RSS feed from a web site. The code uses YQL to grab the content of the external site and then jQuery to find a link tag pointing to the location of the [...]]]></description>
			<content:encoded><![CDATA[<p>I forgot to post a link to this earlier, but I wrote a blog post on using jQuery and YQL to get an RSS feed from a web site.  The code uses YQL to grab the content of the external site and then jQuery to find a link tag pointing to the location of the RSS feed.  This is similar to how Firefox displays the RSS feed icon in the address bar.</p>
<p><a href="http://lanitdev.wordpress.com/2010/02/26/using-jquery-and-yql-to-get-an-rss-feed-from-a-site/">Check out the full post here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://thetimbanks.com/2010/08/03/using-jquery-and-yql-to-get-an-rss-feed-from-a-site/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using the Web.Config connection string with LINQ to SQL</title>
		<link>http://thetimbanks.com/2010/06/11/using-the-web-config-connection-string-with-linq-to-sql/</link>
		<comments>http://thetimbanks.com/2010/06/11/using-the-web-config-connection-string-with-linq-to-sql/#comments</comments>
		<pubDate>Fri, 11 Jun 2010 20:26:31 +0000</pubDate>
		<dc:creator>Tim Banks</dc:creator>
				<category><![CDATA[ASP.Net]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[LINQ]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[LINQ to SQL]]></category>

		<guid isPermaLink="false">http://thetimbanks.com/?p=79</guid>
		<description><![CDATA[I finished up a post over on my company&#8217;s development blog.  I describe an issue I had with using multiple connection strings with LINQ to SQL classes. You can read the whole article over at http://lanitdev.wordpress.com/2010/06/11/using-the-web-config-connection-string-with-linq-to-sql/]]></description>
			<content:encoded><![CDATA[<p>I finished up a post over on my company&#8217;s development blog.  I describe an issue I had with using multiple connection strings with LINQ to SQL classes.</p>
<p>You can read the whole article over at <a href="http://lanitdev.wordpress.com/2010/06/11/using-the-web-config-connection-string-with-linq-to-sql/">http://lanitdev.wordpress.com/2010/06/11/using-the-web-config-connection-string-with-linq-to-sql/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://thetimbanks.com/2010/06/11/using-the-web-config-connection-string-with-linq-to-sql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A List Apart annual web survey 2009</title>
		<link>http://thetimbanks.com/2009/12/15/a-list-apart-annual-web-survey-2009/</link>
		<comments>http://thetimbanks.com/2009/12/15/a-list-apart-annual-web-survey-2009/#comments</comments>
		<pubDate>Tue, 15 Dec 2009 16:36:18 +0000</pubDate>
		<dc:creator>Tim Banks</dc:creator>
				<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://thetimbanks.com/?p=39</guid>
		<description><![CDATA[Each year A List Apart conducts a survey targeted towards people who consider themselves web professionals.  I have taken the survey each year and enjoy looking over the results to see how my current situation compares to everyone who takes the survey.  To take this year&#8217;s survey, just go to A List Apart&#8217;s Survey Page.  [...]]]></description>
			<content:encoded><![CDATA[<p>Each year <a href="http://www.alistapart.com">A List Apart</a> conducts a survey targeted towards people who consider themselves web professionals.  I have taken the survey each year and enjoy looking over the results to see how my current situation compares to everyone who takes the survey.  To take this year&#8217;s survey, just go to <a href="http://alistapart.com/articles/survey2009">A List Apart&#8217;s Survey Page</a>.  The survey only took me about 4 minutes to complete.</p>
<p>If you are interested in seeing the kind of data the survey collects, you can view <a href="http://www.alistapart.com/articles/findings/">last year&#8217;s results</a>.</p>
<p><a href="http://www.alistapart.com/articles/survey2009/"><img class="aligncenter size-full wp-image-44" title="I took the survey and you should too!" src="http://thetimbanks.com/wp-content/uploads/2009/12/i-took-the-2009-survey.gif" alt="I took the survey and you should too!" width="180" height="46" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://thetimbanks.com/2009/12/15/a-list-apart-annual-web-survey-2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

