<?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>Rolling Lab</title>
	<atom:link href="http://rollinglab.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://rollinglab.com</link>
	<description>WordPress Web Design and Development</description>
	<lastBuildDate>Tue, 21 Feb 2012 07:06:07 +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>Tooltips using :before and :after</title>
		<link>http://rollinglab.com/2012/02/tooltips-using-before-and-after/</link>
		<comments>http://rollinglab.com/2012/02/tooltips-using-before-and-after/#comments</comments>
		<pubDate>Tue, 21 Feb 2012 07:05:05 +0000</pubDate>
		<dc:creator>Paul Ruescher</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://rollinglab.com/?p=558</guid>
		<description><![CDATA[Confession: I love adding too many features to a website.  I always have to consciously remind myself that less is more.  Feature creep?  More like feature beast mode.  So when we launched the Rolling Lab site, I immediately wanted to add something.  Linen backgrounds?  Yes.  CSS3 Animations.  I want.  Canvas?  Moar (sic).  I decided against [...]]]></description>
			<content:encoded><![CDATA[<p>Confession: I love adding too many features to a website.  I always have to consciously remind myself that less is more.  Feature creep?  More like feature beast mode.  So when we launched the Rolling Lab site, I immediately wanted to add something.  Linen backgrounds?  Yes.  CSS3 Animations.  I want.  Canvas?  Moar (sic).  I decided against all of those ill-advised ideas, and settled on something that we can all agree on.  Hover tooltips.   The little things make the biggest difference, right?</p>
<p>So where do you start?  Well, you could just place a <code>title</code> attribute in certain links and call it a day.  But that would be so un-web 2.0, right?  Correct.  We could write some JavaScript.  And that would be fine, but you know what?  We can get away with something a little (in my opinion) better.  CSS3 and data attributes.  Data attributes are so HTML5 and hip and trendy.  So where do we start?</p>
<p>First off, why use the data attribute?  For me, it&#8217;s a way to eliminate an element.  For example, you could have a link wrapped around a span.  From there you could do some CSS to hide that span, position it relative to the anchor, and then use a <code>:hover</code> selector to show the span on a hover.  Not bad, I&#8217;d rather just have something like <code>&lt;a href="http://rollinglab.com" data-tooltip="Click Me To Go Home"&gt;Home&lt;/a&gt;</code>. So what that in mind, let&#8217;s get to a code block!</p>
<h3>HTML</h3>
<pre>&lt;a href="https://twitter.com/paul_ruescher" class="tooltip icon twitter" data-tooltip="Twitter"&gt;&lt;/a&gt;
&lt;a href="https://github.com/paulruescher" class="tooltip icon github" data-tooltip="GitHub"&gt;&lt;/a&gt;</pre>
<h3>CSS</h3>
<pre>.tooltip {
     position: relative;
}
.tooltip:hover:before {
     content: ' ';
     position: absolute;
     top: 28px;
     left: 6px;
     width: 0;
     height: 0;
     border-left: 10px solid transparent;
     border-right: 10px solid transparent;
     border-bottom: 10px solid #45C6F0;
}
.tooltip:hover:after {
     content: attr(data-tooltip);
     padding: 0 10px;
     position: absolute;
     top: 35px;
     left: 0;
     background: #45C6F0;
     color: #FFF;
     text-align: center;
     text-indent: 0;
     text-transform: capitalize;
     line-height: 25px;
     font-weight: bold;
     white-space: nowrap;
     -webkit-border-radius: 2px;
     -moz-border-radius: 2px;
     border-radius: 2px;
}</pre>
<p>Neat, right?  The basics first.  Our <code>.icon</code> class has position set to relative, so any children &#8211; our <code>:before :after</code> selectors &#8211; can be positioned relative to <code>.icon</code>.  <code>:before</code> is our CSS triangle that points up and <code>:after</code> houses our tooltip.  Everything within <code>:after</code> should be fairly straight-forward.  The one key thing to note is <code>content: attr(data-tooltip)</code>.  It&#8217;s fairly self-explanatory: it takes the information within our previously set <code>data-tooltip</code>.  Cool!  I have this setup on our homepage for our social media icons in our biographies.  Hover over the twitter icon in my bio and you should get a tooltip with the label &#8216;Twitter&#8217;.  </p>
<p>It doesn&#8217;t take a lot of work, but I definitely like little details like this.  Some icons &#8211; like GitHub &#8211; are not very obvious to everyone.  But a quick hover, and you give your users a lot more information than they typically would receive.</p>
]]></content:encoded>
			<wfw:commentRss>http://rollinglab.com/2012/02/tooltips-using-before-and-after/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Form Fields and Width: 100%</title>
		<link>http://rollinglab.com/2012/02/input-boxes-and-with-100/</link>
		<comments>http://rollinglab.com/2012/02/input-boxes-and-with-100/#comments</comments>
		<pubDate>Sat, 18 Feb 2012 16:38:34 +0000</pubDate>
		<dc:creator>Paul Ruescher</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Responsive Design]]></category>

		<guid isPermaLink="false">http://rollinglab.com/?p=529</guid>
		<description><![CDATA[One thing I ran into when I first started doing responsive design was the misalignment of input and textarea boxes. For example, you&#8217;d think the following code would be self-explanatory. input, textarea { border: 1px solid #ccc; -moz-border-radius: 2px; border-radius: 2px; width: 100%; } But it&#8217;s not. You end up with a small overlap, exhibited [...]]]></description>
			<content:encoded><![CDATA[<p>One thing I ran into when I first started doing responsive design was the misalignment of input and textarea boxes. For example, you&#8217;d think the following code would be self-explanatory.</p>
<pre>input,
textarea {
     border: 1px solid #ccc;
     -moz-border-radius: 2px;
     border-radius: 2px;
     width: 100%;
}</pre>
<p>But it&#8217;s not. You end up with a small overlap, exhibited in the image below.</p>
<p><img class="size-full wp-image-530 alignleft" title="Screen shot 2012-02-18 at 8.33.04 AM" src="http://rollinglab.com/wp-content/uploads/2012/02/Screen-shot-2012-02-18-at-8.33.04-AM.png" alt="" /></p>
<p>You can see that the textarea is slightly wider than the <code>input[type="text"]</code> box. What causes this? In Chrome, there is 2px of padding on a <code>&lt;textarea&gt;</code> element, and 1px of padding on a <code>&lt;input&gt;</code> element. You could just set your own padding amount and then adjust the width. The problem with that is I don&#8217;t want to set the padding to a static amount (say <code>0.2em</code>) and then have the width be a percentage.</p>
<p>Instead, set the box-sizing property to border-box:</p>
<pre>input,
textarea {
     -moz-box-sizing: border-box;
     -webkit-box-sizing: border-box;
     box-sizing: border-box;
     border: 1px solid #ccc;
     -moz-border-radius: 2px;
     border-radius: 2px;
     width: 100%;
}</pre>
<p>Now, when the width is set to 100%, the padding is disregarded in the calculation of the width.</p>
<p><img class="size-full wp-image-538 alignright" title="Screen shot 2012-02-18 at 8.53.45 AM" src="http://rollinglab.com/wp-content/uploads/2012/02/Screen-shot-2012-02-18-at-8.53.45-AM.png" alt="" width="377" height="166" /></p>
<p>Boom! Easy. Support is good too &#8211; IE8 and up &#8211; as long as you use vendor prefixes. So next time you&#8217;re running into width issues on a responsive design, just throw in box-sizing.</p>
]]></content:encoded>
			<wfw:commentRss>http://rollinglab.com/2012/02/input-boxes-and-with-100/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Australian Open Finals</title>
		<link>http://rollinglab.com/2012/01/australian-open-finals/</link>
		<comments>http://rollinglab.com/2012/01/australian-open-finals/#comments</comments>
		<pubDate>Sun, 29 Jan 2012 14:29:40 +0000</pubDate>
		<dc:creator>Paul Ruescher</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://rollinglab.com/?p=486</guid>
		<description><![CDATA[You can guarantee that the Rolling Lab team is watching the Australian Open Finals right now. You should be too. This is great theatre.]]></description>
			<content:encoded><![CDATA[<p>You can guarantee that the Rolling Lab team is watching the Australian Open Finals right now.  You should be too.  This is great theatre.</p>
]]></content:encoded>
			<wfw:commentRss>http://rollinglab.com/2012/01/australian-open-finals/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>View As Analog</title>
		<link>http://rollinglab.com/2012/01/view-as-analog/</link>
		<comments>http://rollinglab.com/2012/01/view-as-analog/#comments</comments>
		<pubDate>Sun, 29 Jan 2012 12:25:21 +0000</pubDate>
		<dc:creator>Paul Ruescher</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Productivity]]></category>

		<guid isPermaLink="false">http://rollinglab.com/?p=474</guid>
		<description><![CDATA[Quick OS X trick for productivity]]></description>
			<content:encoded><![CDATA[<p>One of the most productive things I&#8217;ve ever done is to set the clock on my computer to analog.  Top-right corner of OS X, click on the time, and then click &#8216;View As Analog&#8217;.  If you happen to look up, you get a general sense of the time, but not the specific time.  This has helped so much.  Instead of realizing it&#8217;s 2 AM and then thinking it&#8217;s bed-time, I look up and get a general idea of the time and continue working.</p>
]]></content:encoded>
			<wfw:commentRss>http://rollinglab.com/2012/01/view-as-analog/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Twitter Shortcode</title>
		<link>http://rollinglab.com/2012/01/twitter-shortcode/</link>
		<comments>http://rollinglab.com/2012/01/twitter-shortcode/#comments</comments>
		<pubDate>Sun, 29 Jan 2012 11:29:21 +0000</pubDate>
		<dc:creator>Paul Ruescher</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://rollinglab.com/?p=467</guid>
		<description><![CDATA[Here&#8217;s a shortcode I made recently for a WordPress site. It stores the retrieved data as a transient, minimizing HTTP requests and subsequently reducing page load times for users. Feel free to use it. Post any comments if you want clarification. // Twitter Feed add_shortcode( 'twitter', 'rl_twitter_feed' ); function rl_twitter_feed( $atts ) { // Attributes [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a shortcode I made recently for a WordPress site.  It stores the retrieved data as a transient, minimizing HTTP requests and subsequently reducing page load times for users.  Feel free to use it.  Post any comments if you want clarification.</p>
<pre>
// Twitter Feed
add_shortcode( 'twitter', 'rl_twitter_feed' );
function rl_twitter_feed( $atts ) {

	// Attributes
	if( isset( $atts['handle'] ) )
		$handle = $atts['handle'];

	// Check transients
	$body = get_transient( 'rl_twitter_data' );
	if( empty( $body ) ) {
		$twitter_url = 'http://twitter.com/statuses/user_timeline/' . $handle . '.json?count=3';
		$data = wp_remote_get( $twitter_url );
		$body = wp_remote_retrieve_body( $data );

		if( empty( $body ) )
			return false;

		$body = json_decode( $body, true );
		set_transient( 'rl_twitter_data', $body, 300 );
	}

	//Begin Output
	$output = '&lt;aside class=&quot;twitter-feed&quot;&gt;&lt;ul&gt;';

	// Work with decoded data
	foreach( $body as $tweet ) {
		$output .= '&lt;li&gt;';
		$output .= '&lt;p&gt;&lt;span class=&quot;twitter-meta&quot;&gt;&lt;time datetime=&quot;' . date( 'Y-m-d', strtotime( $tweet['created_at'] ) ) . '&quot;&gt;' . date( 'd F, Y', strtotime( $tweet['created_at'] ) ) . '&lt;/time&gt;';
		$output .= ' - &lt;a href=&quot;http://twitter.com/' . $tweet['user']['screen_name'] . '&quot;&gt;@' . $tweet['user']['screen_name'] . '&lt;/a&gt;&lt;/span&gt;';
		$output .= $tweet['text'];
		$output .= '&lt;span class=&quot;twitter-source&quot;&gt;Via ' . $tweet['source'] . '&lt;/span&gt;';
		$output .= '&lt;/p&gt;&lt;/li&gt;';
	}
	$output .= '&lt;/ul&gt;&lt;/aside&gt;';

	return $output;
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://rollinglab.com/2012/01/twitter-shortcode/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Show Me My Opponent</title>
		<link>http://rollinglab.com/2012/01/show-me-my-opponent/</link>
		<comments>http://rollinglab.com/2012/01/show-me-my-opponent/#comments</comments>
		<pubDate>Sun, 29 Jan 2012 04:02:11 +0000</pubDate>
		<dc:creator>Paul Ruescher</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://rollinglab.com/?p=465</guid>
		<description><![CDATA[DOSVEC - DIFF]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been listening to D.Veloped&#8217;s Work: Party mixtape&#8230; and this.  DIFF is 1:18:56 of non-stop fun.  My favourite section is around 54:22, &#8220;Big Stuntin&#8217;&#8221;.  It&#8217;s awesome.  </p>
<p>The best thing about long mashups like this is I can just go to town on a problem.  If I haven&#8217;t solved it by the time the song is over, then I suck and should just quit.  This has yet to fail.</p>
]]></content:encoded>
			<wfw:commentRss>http://rollinglab.com/2012/01/show-me-my-opponent/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Should I Work For Free?</title>
		<link>http://rollinglab.com/2012/01/should-i-work-for-free/</link>
		<comments>http://rollinglab.com/2012/01/should-i-work-for-free/#comments</comments>
		<pubDate>Sun, 29 Jan 2012 01:51:48 +0000</pubDate>
		<dc:creator>Paul Ruescher</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://rollinglab.com/?p=458</guid>
		<description><![CDATA[http://shouldiworkforfree.com/]]></description>
			<content:encoded><![CDATA[<p>http://shouldiworkforfree.com/</p>
]]></content:encoded>
			<wfw:commentRss>http://rollinglab.com/2012/01/should-i-work-for-free/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>If You Only Knew The Power Of the Dark-Side</title>
		<link>http://rollinglab.com/2012/01/if-you-only-knew-the-power-of-the-dark-side/</link>
		<comments>http://rollinglab.com/2012/01/if-you-only-knew-the-power-of-the-dark-side/#comments</comments>
		<pubDate>Sat, 28 Jan 2012 22:57:35 +0000</pubDate>
		<dc:creator>Paul Ruescher</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://rollinglab.com/?p=449</guid>
		<description><![CDATA[Star Wars - Binary Suns (Coyote Kisses Remix)]]></description>
			<content:encoded><![CDATA[<p>This song is amazing. Tim sent me the link to it when I was in Vancouver last-week.  It&#8217;s a dubstep remix of &#8216;Binary Sun&#8217; &#8211; the Jedi theme from the Star Wars movies.  There are three voice samples that are absolutely amazing.  The last one, right after the bridge is Vader.</p>
<p>I&#8217;d be lying if I said that I haven&#8217;t listened to it a hundred times by now.</p>
]]></content:encoded>
			<wfw:commentRss>http://rollinglab.com/2012/01/if-you-only-knew-the-power-of-the-dark-side/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Work: Party</title>
		<link>http://rollinglab.com/2012/01/work-party/</link>
		<comments>http://rollinglab.com/2012/01/work-party/#comments</comments>
		<pubDate>Sat, 28 Jan 2012 11:24:51 +0000</pubDate>
		<dc:creator>Paul Ruescher</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://rollinglab.com/?p=432</guid>
		<description><![CDATA[D.Veloped - Work: Party (mixtape)]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s what I&#8217;m listening to while building the new site.  It took me a couple listens, but now I&#8217;m really digging it.  The lead in from The Childish Games to Fly Like An Eagle is amazing.</p>
<p>Time keeps on slippin&#8217; slippin&#8217; slippin&#8217; into the future</p>
]]></content:encoded>
			<wfw:commentRss>http://rollinglab.com/2012/01/work-party/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Well first off, I&#8217;m going to need you to stop yelling at me &#8211; you too</title>
		<link>http://rollinglab.com/2011/08/off-stop-yelling-too/</link>
		<comments>http://rollinglab.com/2011/08/off-stop-yelling-too/#comments</comments>
		<pubDate>Tue, 23 Aug 2011 19:07:12 +0000</pubDate>
		<dc:creator>Paul Ruescher</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Brian Wilson]]></category>

		<guid isPermaLink="false">http://rollinglab.com/?p=360</guid>
		<description><![CDATA[&#8230; and fireworks. And you&#8217;re fucking welcome. Hmmm!]]></description>
			<content:encoded><![CDATA[<p>&#8230; and fireworks.  And you&#8217;re fucking welcome.  Hmmm!</p>
]]></content:encoded>
			<wfw:commentRss>http://rollinglab.com/2011/08/off-stop-yelling-too/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using apc
Object Caching 717/821 objects using apc

Served from: rollinglab.com @ 2012-02-22 21:32:22 -->
