<?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>Pivotal Labs &#187; Davis W. Frank</title>
	<atom:link href="http://pivotallabs.com/author/dwfrank/feed/" rel="self" type="application/rss+xml" />
	<link>http://pivotallabs.com</link>
	<description>Agility Developed</description>
	<lastBuildDate>Wed, 22 May 2013 22:49:44 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>An Entirely Late Movember Wrap-Up</title>
		<link>http://pivotallabs.com/movember-2012-wrap-up/</link>
		<comments>http://pivotallabs.com/movember-2012-wrap-up/#comments</comments>
		<pubDate>Sat, 12 Jan 2013 01:47:27 +0000</pubDate>
		<dc:creator>Davis W. Frank</dc:creator>
				<category><![CDATA[Labs]]></category>

		<guid isPermaLink="false">http://pivotallabs.com/?p=11646</guid>
		<description><![CDATA[<p>It&#8217;s quite a few weeks late, but I&#8217;d like to thank everyone at Pivotal Labs and everyone of our clients and friends in Webstache who helped with Movember this year. But what you probably want is some stats. We like numbers, right? Across all of our offices, the people who grew mustaches and shaved their heads into Mohawks raised just over $20,000. Together with some of our friends and clients, notably Square, AirBnB, Social Chorus and Snapfish, the Webstache network (really just a team of teams) raised over $43,000. This was enough to be ranked as the 57th best multinational network. We&#8217;re a multinational network because the gang at Appex (in Norway) joined in. But that amount was good enough for 22nd place on the US leaderboard. Lastly, the EMC network &#8211; all of the Pivotal Labs teams, Greenplum, and a bunch of EMC proper teams &#8211; raised over $63,000.&#8230;</p><p>The post <a href="http://pivotallabs.com/movember-2012-wrap-up/">An Entirely Late Movember Wrap-Up</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></description>
				<content:encoded><![CDATA[<p>It&#8217;s quite a few weeks late, but I&#8217;d like to thank everyone at Pivotal Labs and everyone of our clients and friends in Webstache who helped with Movember this year.</p>
<p>But what you probably want is some stats. We like numbers, right?</p>
<p>Across all of our offices, the people who grew mustaches and shaved their heads into Mohawks raised just over $20,000.</p>
<p>Together with some of our friends and clients, notably Square, AirBnB, Social Chorus and Snapfish, the Webstache network (really just a team of teams) raised over $43,000. This was enough to be ranked as the 57th best multinational network. We&#8217;re a multinational network because the gang at Appex (in Norway) joined in. But that amount was good enough for 22nd place on the US leaderboard.</p>
<p>Lastly, the EMC network &#8211; all of the Pivotal Labs teams, Greenplum, and a bunch of EMC proper teams &#8211; raised over $63,000. That&#8217;s #12 in the US overall and the 3rd highest corporate network.</p>
<p>Your chatter, upper lips and yes, dollars, helped raise awareness around Men&#8217;s health issues. So big, BIG, thanks from all of us. And we&#8217;ll see you in Movember 2013!</p>
<p>The post <a href="http://pivotallabs.com/movember-2012-wrap-up/">An Entirely Late Movember Wrap-Up</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://pivotallabs.com/movember-2012-wrap-up/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mid-ish Movember</title>
		<link>http://pivotallabs.com/mid-ish-movember/</link>
		<comments>http://pivotallabs.com/mid-ish-movember/#comments</comments>
		<pubDate>Wed, 21 Nov 2012 22:45:00 +0000</pubDate>
		<dc:creator>Davis W. Frank</dc:creator>
				<category><![CDATA[Labs]]></category>
		<category><![CDATA[movember]]></category>

		<guid isPermaLink="false">http://pivotallabs.com/mid-ish-movember/</guid>
		<description><![CDATA[<p><p>We're about 2/3 of the way through <a href="http://movember.com">Movember</a>. How are we doing?</p> <a href="http://pivotallabs.com/mid-ish-movember/">Continue reading <span class="meta-nav">&#8594;</span></a></p><p>The post <a href="http://pivotallabs.com/mid-ish-movember/">Mid-ish Movember</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></description>
				<content:encoded><![CDATA[<p>We&#8217;re about 2/3 of the way through <a href="http://movember.com">Movember</a>. How are we doing?</p>
<p>Movember 1st, a bunch of us in the SF office <a href="https://www.dropbox.com/s/bxwowclw513zz9p/IMG_8374.jpeg">started clean-shaven</a>. We&#8217;ve talked about prostate cancer. And we&#8217;ve grown some Mo&#8217;. We&#8217;ve talked about testicular cancer. And we&#8217;ve grown some Mo&#8217;. We&#8217;ve raised some money&#8230;actually, we&#8217;ve raised a LOT of money.</p>
<p>The <a href="http://us.movember.com/mospace/network/webstache">Webstache</a> network has raised over $12,000 so far &#8211; and that&#8217;s <em>before</em> we&#8217;ve all been the laughing stock of our various Thanksgiving tables tomorrow. Thanks to all the friends at AirBnB, Square, and Snapfish who&#8217;ve helped and itched our way to such a good mark.</p>
<p>But there&#8217;s so much more to do. More people to inform, more whiskers to grow, more money to raise, and maybe a few heads to shave. </p>
<p>Stay tuned.</p>
<p>The post <a href="http://pivotallabs.com/mid-ish-movember/">Mid-ish Movember</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://pivotallabs.com/mid-ish-movember/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Getting Involved with Movember</title>
		<link>http://pivotallabs.com/getting-involved-with-movember/</link>
		<comments>http://pivotallabs.com/getting-involved-with-movember/#comments</comments>
		<pubDate>Wed, 31 Oct 2012 06:02:00 +0000</pubDate>
		<dc:creator>Davis W. Frank</dc:creator>
				<category><![CDATA[Labs]]></category>
		<category><![CDATA[movember]]></category>

		<guid isPermaLink="false">http://pivotallabs.com/getting-involved-with-movember/</guid>
		<description><![CDATA[<p><p>How do you jump on the Movember 'stache wagon?</p> <a href="http://pivotallabs.com/getting-involved-with-movember/">Continue reading <span class="meta-nav">&#8594;</span></a></p><p>The post <a href="http://pivotallabs.com/getting-involved-with-movember/">Getting Involved with Movember</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></description>
				<content:encoded><![CDATA[<p>How do you jump on the Movember &#8216;stache wagon?</p>
<p>You start by singing up at <a href="http://movember.com">Movember&#8217;s site</a>. The fundraising platform is easy to use to gather donations and to promote your upper lip&#8217;s &#8220;progress&#8221; over the month.</p>
<p>Once you&#8217;re in, it&#8217;s time to promote. Take a picture of yourself and give a motivation. Download the <a href="https://itunes.apple.com/us/app/movember-mobile/id472743069?mt=8">iOS</a> or <a href="https://play.google.com/store/apps/details?id=com.movember.movembermobile&amp;feature=search_result#?t=W251bGwsMSwxLDEsImNvbS5tb3ZlbWJlci5tb3ZlbWJlcm1vYmlsZSJd">Android</a> apps for your phone and take pictures of your mo each day.</p>
<p>Spreading awareness is marketing &#8211; so work it! Let the world know how the mo&#8217; effort is going. Use the Facebook and Twitter links to start the campaign in your feeds. Or send out emails &#8211; Movember gives you a custom URL for your page. Point all your friends, family and coworkers to your Mo Home Page so they can find out more and donate easily.</p>
<p>&#40;Make sure they know that donations are tax deductible and that they&#8217;ll get a handy tax receipt.&#41;</p>
<p>Remember that each time you&#8217;re asked about the dusting of fur on your face that you&#8217;re raising money for prostate and testicular cancer research and awareness. Expect to have lots of conversations like this over the month:</p>
<p><strong>Person</strong>: Nice mustache!<br />
<strong>You</strong>: Thanks! I&#8217;m growing it for the entire month of Movember. Care to donate to support testicular and prostate cancer?</p>
<p><strong>Some Guy</strong>: What is that <em>thing</em> on your face?<br />
<strong>You</strong>: It&#8217;s my mustache and it&#8217;s here to remind you to get your prostate checked. Did you know that 1 in 6 men will be diagnosed with prostate cancer in their life?</p>
<p><strong>Best Friend Ever</strong>: Hey! Even better looking than last Movember! Where do I donate again?<br />
<strong>You</strong>: You&#8217;re the best friend ever.</p>
<p>Get ready to shave on Thursday. And then don&#8217;t stop talking all month long.</p>
<p>The post <a href="http://pivotallabs.com/getting-involved-with-movember/">Getting Involved with Movember</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://pivotallabs.com/getting-involved-with-movember/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Movember is here! Movember is here!</title>
		<link>http://pivotallabs.com/movember-is-here-movember-is-here/</link>
		<comments>http://pivotallabs.com/movember-is-here-movember-is-here/#comments</comments>
		<pubDate>Tue, 30 Oct 2012 05:04:00 +0000</pubDate>
		<dc:creator>Davis W. Frank</dc:creator>
				<category><![CDATA[Labs]]></category>

		<guid isPermaLink="false">http://pivotallabs.com/movember-is-here-movember-is-here/</guid>
		<description><![CDATA[<p><p>Leaves have started to turn, <a href="http://mlb.mlb.com/mlb/gameday/index.jsp?gid=2012_10_28_sfnmlb_detmlb_1&#38;mode=recap_away&#38;c_id=sf">Baseball has wound down</a>, and my upper lip has started to twitch. <a href="http://www.movember.com">Movember</a> first is right around the corner.</p> <a href="http://pivotallabs.com/movember-is-here-movember-is-here/">Continue reading <span class="meta-nav">&#8594;</span></a></p><p>The post <a href="http://pivotallabs.com/movember-is-here-movember-is-here/">Movember is here! Movember is here!</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></description>
				<content:encoded><![CDATA[<p>Leaves have started to turn, <a href="http://mlb.mlb.com/mlb/gameday/index.jsp?gid=2012_10_28_sfnmlb_detmlb_1&amp;mode=recap_away&amp;c_id=sf">Baseball has wound down</a>, and my upper lip has started to twitch. <a href="http://www.movember.com">Movember</a> first is right around the corner.</p>
<p>What started as a bit of a joke has become a worldwide effort to teach everyone about &#8220;dude cancer.&#8221; Guys grow, friends and family donate, and we all talk a bit about men&#8217;s health issues, specifically prostate and testicular cancer. </p>
<p>So how, exactly, does this work? </p>
<p>Once you&#8217;re in, you&#8230;</p>
<ol>
<li>Wake up on Movember 1st and shave clean</li>
<li>Don&#8217;t shave the mustache, don&#8217;t grow a beard, and don&#8217;t connect to the &#8216;burns</li>
<li>Tell everyone who asks that you&#8217;re doing this for the <em>dudes</em></li>
</ol>
<p>Last year the 1.9M &#8220;Mo Bros and Mo Sistas&#8221; around the world collected over $126M &#40;USD&#41;. Pivotal along with a group of clients and friends, raised over $40,000 of that. </p>
<p>Things are just getting ramped up and already the leaderboard has crossed $3.5M. </p>
<p>So it&#8217;s time for all of us to get growing!</p>
<p>The post <a href="http://pivotallabs.com/movember-is-here-movember-is-here/">Movember is here! Movember is here!</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://pivotallabs.com/movember-is-here-movember-is-here/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Jasmine 1.2 released</title>
		<link>http://pivotallabs.com/jasmine-1-2-released/</link>
		<comments>http://pivotallabs.com/jasmine-1-2-released/#comments</comments>
		<pubDate>Tue, 05 Jun 2012 14:59:00 +0000</pubDate>
		<dc:creator>Davis W. Frank</dc:creator>
				<category><![CDATA[Labs]]></category>
		<category><![CDATA[rails]]></category>

		<guid isPermaLink="false">http://pivotallabs.com/jasmine-1-2-released/</guid>
		<description><![CDATA[<p><p>Jasmine 1.2 has been available, quietly, for a few weeks now. But consider this the official announcement.</p> <a href="http://pivotallabs.com/jasmine-1-2-released/">Continue reading <span class="meta-nav">&#8594;</span></a></p><p>The post <a href="http://pivotallabs.com/jasmine-1-2-released/">Jasmine 1.2 released</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></description>
				<content:encoded><![CDATA[<p>Jasmine 1.2 has been available, quietly, for a few weeks now. But consider this the official announcement.</p>
<p>This release is relatively minor, but has a lot of things under the hood that will make it easier for us to continue to improve the project. Some highlights:</p>
<h2>Jasmine Core Fixes &amp; Features</h2>
<ul>
<li>New HTML Runner/Reporter &#40;designed by Sean Durham&#41; is now the default</li>
<li>An improved <code>toEqual</code> matcher for deep Objects</li>
</ul>
<h2>Jasmine Gem Fixes &amp; Features</h2>
<ul>
<li>Detection and support for the Rails Asset Pipeline</li>
<li>All requests served with no-cache headers, helping out when your browser supports them correctly</li>
</ul>
<h2>Development fixes</h2>
<ul>
<li>Catch-up on issues with recent Rubygems and Ruby 1.9.3</li>
<li>Fixed bugs when developing for Jasmine on Linux</li>
<li>Moved CI to <a href="http://travis-ci.org">Travis</a></li>
<li>Cleaned up the building/concat of <code>jasmine.js</code></li>
<li>Overall better task code, now tested, for building &amp; testing Jasmine</li>
</ul>
<p>In addition, we&#8217;ve revamped the <a href="http://pivotal.github.com/jasmine">Jasmine home page</a> to give you a better online reference for using Jasmine every day in your projects. It should cover all of the public interface for writing tests. If we&#8217;ve missed something, let us know. It uses <a href="http://rtomayko.github.com/rocco/">Rocco</a> with a custom layout and includes Jasmine on the page, giving you not only a reference, but a test run to see if the reference runs green &#40;Big thanks to <a href="http://twitter.com/mjackson">Michael Jackson</a> of Twitter who made the suggestion of &#8216;running documentation&#8217;&#41;.</p>
<p>The post <a href="http://pivotallabs.com/jasmine-1-2-released/">Jasmine 1.2 released</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://pivotallabs.com/jasmine-1-2-released/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Giving Rails 2 the Asset Pipeline</title>
		<link>http://pivotallabs.com/giving-rails-2-the-asset-pipeline/</link>
		<comments>http://pivotallabs.com/giving-rails-2-the-asset-pipeline/#comments</comments>
		<pubDate>Thu, 29 Dec 2011 22:19:00 +0000</pubDate>
		<dc:creator>Davis W. Frank</dc:creator>
				<category><![CDATA[Labs]]></category>
		<category><![CDATA[rails]]></category>

		<guid isPermaLink="false">http://pivotallabs.com/giving-rails-2-the-asset-pipeline/</guid>
		<description><![CDATA[<p><p>We had a client project, a Rails 2 app, that needed some cleanup around JavaScript and CSS management. They were using both Sprockets 1 and <a href="http:/github.com/jashkenas/jammit">Jammit</a>, as well as a bunch of plugins and gems to help make all this work together. They had a set of problems that the Rails 3.1 Asset Pipeline solved. But due to gem dependencies we couldn't go to Rails 3 yet. </p>

<p>How hard could it be to put Sprockets 2 and the Asset Pipeline into a Rails 2 app?</p> <a href="http://pivotallabs.com/giving-rails-2-the-asset-pipeline/">Continue reading <span class="meta-nav">&#8594;</span></a></p><p>The post <a href="http://pivotallabs.com/giving-rails-2-the-asset-pipeline/">Giving Rails 2 the Asset Pipeline</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></description>
				<content:encoded><![CDATA[<p>We had a client project, a Rails 2 app, that needed some cleanup around JavaScript and CSS management. They were using both Sprockets 1 and <a href="http:/github.com/jashkenas/jammit">Jammit</a>, as well as a bunch of plugins and gems to help make all this work together. They had a set of problems that the Rails 3.1 Asset Pipeline solved. But due to gem dependencies we couldn&#8217;t go to Rails 3 yet. </p>
<p>How hard could it be to put Sprockets 2 and the Asset Pipeline into a Rails 2 app?</p>
<h2>1. Add Sprockets 2</h2>
<p>In the <code>Gemfile</code>:</p>
<pre><code>gem sprockets, "~&gt; 2.0"
</code></pre>
<h2>2. Working with SASS</h2>
<p>If you need/want the Sass gem for SASS or SCSS stylesheets, then this goes in the <code>Gemfile</code>:</p>
<pre><code>gem 'sass'
group :development, :test do
  gem 'sprockets-sass'
end
</code></pre>
<p>Rails 2 doesn&#8217;t include Sass by default. So you need to add it. Yes you might already have Sass if you&#8217;re using HAML for your view templates, but since they&#8217;re about to be broken apart, add it now.</p>
<p>The <code>sprockets-sass</code> gem adds support of watching individual <code>.sass</code> files in development and recompiling the parent stylesheet asset as needed. It&#8217;s not going to be used in production, but more on that later.</p>
<p>For your SASS files you&#8217;ll want to use <code>@import</code> to declare SASS dependencies instead of Sprockets&#8217;s <code>require</code>.</p>
<h2>3. Rack it up in <code>config.ru</code></h2>
<p>Sprockets runs as Rack middleware, but since it&#8217;s difficult to map a path in Rails&#8217; <code>environment.rb</code> 2 and make a rackup file. Name it <code>config.ru</code> so that the rest of Rails&#8217;s scripts &#40;e.g., <code>script/server</code>&#41; work with it transparently. For example:</p>
<p><script src="http://gist.github.com/1536446.js"> </script></p>
<p>What&#8217;s going on in this rackup file -</p>
<ul>
<li>Sprockets with the same paths as Rails 3.1&#8242;s defaults &#8211; add more as necessary for your app</li>
<li>Guard against mapping <code>/assets</code> in production.</li>
<li>Guard against multiple loads if Rails is already initialized &#40;a fix for testing&#41;</li>
<li>Use <code>Sprockets::Helpers</code> to get <code>asset_path</code> and <code>asset_url</code> helpers &#40;and others, see <a href="https://github.com/petebrowne/sprockets-sass">sprockets-helpers</a>&#41; for your stylesheets and views</li>
<li>Map <code>/</code> to the rest of Rails, guarding the middleware you don&#8217;t need in test</li>
</ul>
<h2>4. More Templates</h2>
<p>Using EJS or Mustache? Then drop in the additional gems that work with Sprockets 2&#8242;s templating via <code>Tilt</code>:</p>
<pre><code>gem 'ejs'
gem 'sprockets_spacely'
</code></pre>
<h2>5. Move Your Assets</h2>
<p>Now that configuration is done, move your assets under <code>app/assets</code>, just like the <a href="http://guides.rubyonrails.org/asset_pipeline.html">Rails Guide</a> suggests. Don&#8217;t forget to change the <code>url</code> calls in your stylesheets to <code>asset_url</code>. Run the app, checking your JS console for 404s until all the includes and paths are correct. </p>
<h2>6. Capybara</h2>
<p>Capybara now needs to forget that it&#8217;s running Rails and instead just a Rack app. <a href="http://techwhizbang.com/2010/09/modular-sinatra-apps-with-cucumber/">This technique</a> &#40;<strong>WARNING</strong>: <code>eval</code> ahead.&#41;, meant for using Cucumber/Capybara in a Sinatra app, works.</p>
<h2>7. Compile your assets on deploy</h2>
<p>All of this work so far makes your assets available from your <code>/app</code> directory in development and test. In production, they will get served from <code>/public/assets</code>. Rails 3.1 provides the <code>assets:precompile</code> to be used as part of the deploy process  Generate an empty Rails 3.1 app and copy it into <code>lib/tasks</code>. Copy the Sprockets configuration from your config.ru into this task. Or yes, come up with a way to DRY this configuration up. Then you need to make sure it&#8217;s run at the right time during your deploy.</p>
<h2>8. What&#8217;s left?</h2>
<p>This was all we needed and it&#8217;s working well for this app. There are a few things that this guide doesn&#8217;t cover.</p>
<p>Assets from gems or <code>/vendor</code> are not loaded. Feel free to add explicit paths to Sprockets as needed. The Sprockets Helpers gem doesn&#8217;t yet support a <code>Proc</code> for an asset host, but there&#8217;s now an <a href="https://github.com/petebrowne/sprockets-helpers/issues/1">open issue on Github</a>. This project didn&#8217;t need the former and we threw something together based on <a href="https://github.com/CapnKernul/sasset">Sasset</a>, which appears to be abandoned, and use it only on the asset compile step. We&#8217;re not using CoffeeScript on this project. These we&#8217;ll leave as exercises for the reader.</p>
<p>The Asset Pipeline is still a bit new and we&#8217;re all getting used to it. It&#8217;s not just Sprockets, SASS, etc. &#8211; there is a lot of functionality that Rails puts on top of Sprockets, but it&#8217;s easy enough to add the equivalents.</p>
<p>That wasn&#8217;t so bad, was it?</p>
<p>The post <a href="http://pivotallabs.com/giving-rails-2-the-asset-pipeline/">Giving Rails 2 the Asset Pipeline</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://pivotallabs.com/giving-rails-2-the-asset-pipeline/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Movember Update: Check Out the &#8216;Hawks While the Pivots Involve It</title>
		<link>http://pivotallabs.com/movember-update-check-out-the-hawks-while-the-pivots-involve-it/</link>
		<comments>http://pivotallabs.com/movember-update-check-out-the-hawks-while-the-pivots-involve-it/#comments</comments>
		<pubDate>Thu, 01 Dec 2011 05:03:00 +0000</pubDate>
		<dc:creator>Davis W. Frank</dc:creator>
				<category><![CDATA[Labs]]></category>

		<guid isPermaLink="false">http://pivotallabs.com/movember-update-check-out-the-hawks-while-the-pivots-involve-it/</guid>
		<description><![CDATA[<p><p>We powered through <a href="http://movember.com">Movember</a> this year with a bigger network, <a href="http://us.movember.com/mospace/network/webstache">Webstache</a>, and over 80 participants. Pivotal Labs - all four US offices - plus our friends at <a href="http://squareup.com">Square</a>, <a href="http://www.sharethrough.com/">Sharethrough</a>, and <a href="http://www.halogenmediagroup.com/">Halogen</a> all grew whiskers and helped raise money to end "dude cancer".</p>

<p>In 30 days, we met our goal of raising $20,000 for Livestrong and The Prostate Cancer Foundation and then some - the current tally is $23,318.</p>

<p>But that's not enough. We had Pivots who couldn't grow mustaches. And Pivots who had mustaches who didn't want to shave them. What are these Pivots to do?</p>

<p>Someone said, "But a Mohawk is like a mustache...FOR YOUR HEAD." Then there was much betting and cajoling and smack talk. In the end, Pivotal agreed to donate $500 to Movember for each Pivot that got a mohawk.</p>

<p>Which meant we needed to have Mohawk shaving parties in <a href="http://www.flickr.com/photos/krishicks/sets/72157628199368809/">New York</a> and <a href="http://www.flickr.com/photos/pivotallabs/sets/72157628227095947/">San Francisco</a>. Pivots in the Boulder and Denver offices, as well as a couple of remote Pivots did the same. </p>

<p>Total: 28 'hawks shaved &#40;plus Gregg, the one with the green &#38; purple one-day 'do merited a half-donation&#41; and another big donation coming to Movember from their friends at Pivotal Labs. We may break $40K before the donations close.</p>

<p>Big thanks to my fellow Pivots for growing, donating, raising, and yes, shaving. And HUGE thanks to Pivotal Labs for tolerating all of this and making the big donation this year.</p> <a href="http://pivotallabs.com/movember-update-check-out-the-hawks-while-the-pivots-involve-it/">Continue reading <span class="meta-nav">&#8594;</span></a></p><p>The post <a href="http://pivotallabs.com/movember-update-check-out-the-hawks-while-the-pivots-involve-it/">Movember Update: Check Out the &#8216;Hawks While the Pivots Involve It</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></description>
				<content:encoded><![CDATA[<p>We powered through <a href="http://movember.com">Movember</a> this year with a bigger network, <a href="http://us.movember.com/mospace/network/webstache">Webstache</a>, and over 80 participants. Pivotal Labs &#8211; all four US offices &#8211; plus our friends at <a href="http://squareup.com">Square</a>, <a href="http://www.sharethrough.com/">Sharethrough</a>, and <a href="http://www.halogenmediagroup.com/">Halogen</a> all grew whiskers and helped raise money to end &#8220;dude cancer&#8221;.</p>
<p>In 30 days, we met our goal of raising $20,000 for Livestrong and The Prostate Cancer Foundation and then some &#8211; the current tally is $23,318.</p>
<p>But that&#8217;s not enough. We had Pivots who couldn&#8217;t grow mustaches. And Pivots who had mustaches who didn&#8217;t want to shave them. What are these Pivots to do?</p>
<p>Someone said, &#8220;But a Mohawk is like a mustache&#8230;FOR YOUR HEAD.&#8221; Then there was much betting and cajoling and smack talk. In the end, Pivotal agreed to donate $500 to Movember for each Pivot that got a mohawk.</p>
<p>Which meant we needed to have Mohawk shaving parties in <a href="http://www.flickr.com/photos/krishicks/sets/72157628199368809/">New York</a> and <a href="http://www.flickr.com/photos/pivotallabs/sets/72157628227095947/">San Francisco</a>. Pivots in the Boulder and Denver offices, as well as a couple of remote Pivots did the same. </p>
<p>Total: 28 &#8216;hawks shaved &#40;plus Gregg, the one with the green &amp; purple one-day &#8216;do merited a half-donation&#41; and another big donation coming to Movember from their friends at Pivotal Labs. We may break $40K before the donations close.</p>
<p>Big thanks to my fellow Pivots for growing, donating, raising, and yes, shaving. And HUGE thanks to Pivotal Labs for tolerating all of this and making the big donation this year.</p>
<p>The post <a href="http://pivotallabs.com/movember-update-check-out-the-hawks-while-the-pivots-involve-it/">Movember Update: Check Out the &#8216;Hawks While the Pivots Involve It</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://pivotallabs.com/movember-update-check-out-the-hawks-while-the-pivots-involve-it/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Remember, Remember, It&#8217;s Time for Movember</title>
		<link>http://pivotallabs.com/remember-remember-it-s-time-for-movember/</link>
		<comments>http://pivotallabs.com/remember-remember-it-s-time-for-movember/#comments</comments>
		<pubDate>Thu, 27 Oct 2011 16:02:00 +0000</pubDate>
		<dc:creator>Davis W. Frank</dc:creator>
				<category><![CDATA[Labs]]></category>

		<guid isPermaLink="false">http://pivotallabs.com/remember-remember-it-s-time-for-movember/</guid>
		<description><![CDATA[<p><p>November First will begin like any other day. I'll wake up, I'll shower, I'll shave, I'll take the train to work, and then I'll code all day.</p>

<p>November Second will be a little different. I'll wake up, I'll shower, and I'll shave, and I'll take the train to work and code. But that shave will be a little shorter, skipping my upper lip. I'll continue ignoring one part of my face through the end of the month.</p>

<p>Why? Because it's <a href="http://us.movember.com/about">Movember</a>. And guys still get prostate and testicular cancer.</p>

<p>Last year during Movember, Pivotal Labs helped raise $10,000 of the $7.5M raised in the US for the <a href="http://us.movember.com/about/beneficiary1">Prostate Cancer Foundation</a> and <a href="http://us.movember.com/about/beneficiary2">LIVESTRONG</a> to help research and awareness of "dude cancer".</p>

<p>This year we want to double that amount. But we need your help.</p>

<p>We started a network at Movember called <a href="http://us.movember.com/mospace/network/webstache">Webstache</a> - a place where anyone in the web development community can start a team, or join a team, or just donate. Our friends at <a href="https://squareup.com/">Square</a> have joined the Pivotal teams from San Francisco, Boulder and New York. How about your company?</p>

<p>The mustache I'll be growing is sad. But not as sad as the fact that 1 in 6 men will be diagnosed with prostate cancer.</p> <a href="http://pivotallabs.com/remember-remember-it-s-time-for-movember/">Continue reading <span class="meta-nav">&#8594;</span></a></p><p>The post <a href="http://pivotallabs.com/remember-remember-it-s-time-for-movember/">Remember, Remember, It&#8217;s Time for Movember</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></description>
				<content:encoded><![CDATA[<p>November First will begin like any other day. I&#8217;ll wake up, I&#8217;ll shower, I&#8217;ll shave, I&#8217;ll take the train to work, and then I&#8217;ll code all day.</p>
<p>November Second will be a little different. I&#8217;ll wake up, I&#8217;ll shower, and I&#8217;ll shave, and I&#8217;ll take the train to work and code. But that shave will be a little shorter, skipping my upper lip. I&#8217;ll continue ignoring one part of my face through the end of the month.</p>
<p>Why? Because it&#8217;s <a href="http://us.movember.com/about">Movember</a>. And guys still get prostate and testicular cancer.</p>
<p>Last year during Movember, Pivotal Labs helped raise $10,000 of the $7.5M raised in the US for the <a href="http://us.movember.com/about/beneficiary1">Prostate Cancer Foundation</a> and <a href="http://us.movember.com/about/beneficiary2">LIVESTRONG</a> to help research and awareness of &#8220;dude cancer&#8221;.</p>
<p>This year we want to double that amount. But we need your help.</p>
<p>We started a network at Movember called <a href="http://us.movember.com/mospace/network/webstache">Webstache</a> &#8211; a place where anyone in the web development community can start a team, or join a team, or just donate. Our friends at <a href="https://squareup.com/">Square</a> have joined the Pivotal teams from San Francisco, Boulder and New York. How about your company?</p>
<p>The mustache I&#8217;ll be growing is sad. But not as sad as the fact that 1 in 6 men will be diagnosed with prostate cancer.</p>
<p>The post <a href="http://pivotallabs.com/remember-remember-it-s-time-for-movember/">Remember, Remember, It&#8217;s Time for Movember</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://pivotallabs.com/remember-remember-it-s-time-for-movember/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Capybara, Selenium, Webkit and your Mobile Site</title>
		<link>http://pivotallabs.com/capybara-selenium-webkit-and-your-mobile-site/</link>
		<comments>http://pivotallabs.com/capybara-selenium-webkit-and-your-mobile-site/#comments</comments>
		<pubDate>Sat, 16 Jul 2011 18:12:00 +0000</pubDate>
		<dc:creator>Davis W. Frank</dc:creator>
				<category><![CDATA[Labs]]></category>
		<category><![CDATA[palm]]></category>
		<category><![CDATA[rails]]></category>

		<guid isPermaLink="false">http://pivotallabs.com/capybara-selenium-webkit-and-your-mobile-site/</guid>
		<description><![CDATA[<p><p>Your app now has mobile-friendly views. Do they have any Webkit-specific functionality that you want to test in-browser? Or rather, why are you testing your mobile views in desktop Firefox? Is it because Capybara/Selenium support for Webkit browsers was sketchy? Worry no more. Chrome 12, Capybara 1.0, and Selenium 2 are your new best friends.</p>

<p>So install Chrome, make sure your Gemfile has Capybara set to >= 1.0, <code>bundle install</code> and let's get configuring.</p>

<h2>Update your SpecHelper</h2>

<p>You have to tell Capybara that you want to use Selenium/Webdriver and Chrome. Put this in your <code>spec_helper.rb</code> file</p>

<pre>
Capybara.register_driver :selenium_chrome do &#124;app&#124;
  Capybara::Selenium::Driver.new&#40;app, :browser =&#62; :chrome&#41;
end
</pre>

<h2>Chrome &#38; <code>chromedriver</code></h2>

<p>While there's been limited Selenium support in Chrome for a while, with release 12 there is an entirely new and complete automation interface to Chrome. To use it you need a <a href="http://code.google.com/p/selenium/downloads/list">platform-specifc chromedriver</a> binary in order to connect Webdriver and Chrome. Download it, make sure it's executable, and put it on your path.</p>

<p>Chrome likes to update, so stay on the general release &#40;if you can&#41; to reduce update frequency. You can even take steps to prevent Chrome from updating, but I'll leave that as an exercise for the reader.</p>

<h2>BOOM</h2>

<p>That should be enough to get your Capybara specs to start using Chrome. You'll want to play with your setup and maybe only run some specs with this driver. </p>

<h2>Caveats</h2>

<p>Webdriver does not appear to support Safari. This may matter to you if you're using this setup to approximate Mobile Safari.  But for the types of tests you're likely writing for Selenium it should be good enough. After all, every mobile Webkit build is slightly different.</p>

<p>While complete &#40;in terms of browser features&#41; and far faster than previous Selenium-Chrome pairings, it's still slow-ish - for example, typing isn't nearly as fast as Firefox. So you might not want to make this your default stack for your entire Rails app.</p>

<p>You might make it your only stack if you're testing a Webkit &#38; JavaScript only framework, say an <a href="https://developer.palm.com/content/home.html">HP webOS</a> application using <a href="https://developer.palm.com/content/api/dev-guide/enyo.html">Enyo</a>. </p>

<p>But that's another post.</p> <a href="http://pivotallabs.com/capybara-selenium-webkit-and-your-mobile-site/">Continue reading <span class="meta-nav">&#8594;</span></a></p><p>The post <a href="http://pivotallabs.com/capybara-selenium-webkit-and-your-mobile-site/">Capybara, Selenium, Webkit and your Mobile Site</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></description>
				<content:encoded><![CDATA[<p>Your app now has mobile-friendly views. Do they have any Webkit-specific functionality that you want to test in-browser? Or rather, why are you testing your mobile views in desktop Firefox? Is it because Capybara/Selenium support for Webkit browsers was sketchy? Worry no more. Chrome 12, Capybara 1.0, and Selenium 2 are your new best friends.</p>
<p>So install Chrome, make sure your Gemfile has Capybara set to >= 1.0, <code>bundle install</code> and let&#8217;s get configuring.</p>
<h2>Update your SpecHelper</h2>
<p>You have to tell Capybara that you want to use Selenium/Webdriver and Chrome. Put this in your <code>spec_helper.rb</code> file</p>
<pre>
Capybara.register_driver :selenium_chrome do |app|
  Capybara::Selenium::Driver.new&#40;app, :browser =&gt; :chrome&#41;
end
</pre>
<h2>Chrome &amp; <code>chromedriver</code></h2>
<p>While there&#8217;s been limited Selenium support in Chrome for a while, with release 12 there is an entirely new and complete automation interface to Chrome. To use it you need a <a href="http://code.google.com/p/selenium/downloads/list">platform-specifc chromedriver</a> binary in order to connect Webdriver and Chrome. Download it, make sure it&#8217;s executable, and put it on your path.</p>
<p>Chrome likes to update, so stay on the general release &#40;if you can&#41; to reduce update frequency. You can even take steps to prevent Chrome from updating, but I&#8217;ll leave that as an exercise for the reader.</p>
<h2>BOOM</h2>
<p>That should be enough to get your Capybara specs to start using Chrome. You&#8217;ll want to play with your setup and maybe only run some specs with this driver. </p>
<h2>Caveats</h2>
<p>Webdriver does not appear to support Safari. This may matter to you if you&#8217;re using this setup to approximate Mobile Safari.  But for the types of tests you&#8217;re likely writing for Selenium it should be good enough. After all, every mobile Webkit build is slightly different.</p>
<p>While complete &#40;in terms of browser features&#41; and far faster than previous Selenium-Chrome pairings, it&#8217;s still slow-ish &#8211; for example, typing isn&#8217;t nearly as fast as Firefox. So you might not want to make this your default stack for your entire Rails app.</p>
<p>You might make it your only stack if you&#8217;re testing a Webkit &amp; JavaScript only framework, say an <a href="https://developer.palm.com/content/home.html">HP webOS</a> application using <a href="https://developer.palm.com/content/api/dev-guide/enyo.html">Enyo</a>. </p>
<p>But that&#8217;s another post.</p>
<p>The post <a href="http://pivotallabs.com/capybara-selenium-webkit-and-your-mobile-site/">Capybara, Selenium, Webkit and your Mobile Site</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://pivotallabs.com/capybara-selenium-webkit-and-your-mobile-site/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>DRYing up Jasmine Specs with Shared Behavior</title>
		<link>http://pivotallabs.com/drying-up-jasmine-specs-with-shared-behavior/</link>
		<comments>http://pivotallabs.com/drying-up-jasmine-specs-with-shared-behavior/#comments</comments>
		<pubDate>Sun, 29 May 2011 18:33:00 +0000</pubDate>
		<dc:creator>Davis W. Frank</dc:creator>
				<category><![CDATA[Labs]]></category>

		<guid isPermaLink="false">http://pivotallabs.com/drying-up-jasmine-specs-with-shared-behavior/</guid>
		<description><![CDATA[<p><p>When writing nicely encapsulated code and you have a group of objects that share an interface &#40;pick your favorite patterns&#41;, you often want to share your test code as well. If the system models financial accounts with credits and debits, and you make a change to the reconciliation code, you want to run a core set of specs against all cash, loan, and credit card account objects.</p>

<p>People ask how to do this in JavaScript on the <a href="http://groups.google.com/group/jasmine-js">Jasmine mailing list</a> every so often. </p>

<p>So here's an example of "Shared Example Groups" in <a href="http://pivotal.github.com/jasmine">Jasmine</a>.</p> <a href="http://pivotallabs.com/drying-up-jasmine-specs-with-shared-behavior/">Continue reading <span class="meta-nav">&#8594;</span></a></p><p>The post <a href="http://pivotallabs.com/drying-up-jasmine-specs-with-shared-behavior/">DRYing up Jasmine Specs with Shared Behavior</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></description>
				<content:encoded><![CDATA[<p>When writing nicely encapsulated code and you have a group of objects that share an interface &#40;pick your favorite patterns&#41;, you often want to share your test code as well. If the system models financial accounts with credits and debits, and you make a change to the reconciliation code, you want to run a core set of specs against all cash, loan, and credit card account objects.</p>
<p>People ask how to do this in JavaScript on the <a href="http://groups.google.com/group/jasmine-js">Jasmine mailing list</a> every so often. </p>
<p>So here&#8217;s an example of &#8220;Shared Example Groups&#8221; in <a href="http://pivotal.github.com/jasmine">Jasmine</a>.</p>
<p><script src="http://gist.github.com/997997.js"> </script></p>
<p>This Game spec looks totally fine for a basic ball game. But what if I want to have multiple different types of ball games?</p>
<p>Here are specs for Basketball and &#40;American&#41; Football:</p>
<p><script src="http://gist.github.com/997998.js"> </script></p>
<p>The specs related to the Game itself are inline. That doesn&#8217;t feel very DRY and really, we want to test the interface with the same code. We&#8217;re working in JavaScript. So we write a function.</p>
<p>Jasmine works by building up all the functions to execute at spec run time. When you call <code>describe</code>, the passed-in function is executed immediately. Inside the <code>describe</code>, the calls to <code>beforeEach</code>, <code>afterEach</code> and <code>it</code> queue up the passed-in functions for execution later, when you want to run your specs.</p>
<p>This means you can put all of your shared specs, including any <code>beforeEach</code> calls, in a function that can be executed as needed. Like this:</p>
<p><script src="https://gist.github.com/infews/998001.js"></script></p>
<p>Each time <code>sharedBehaviorForGameOf</code> is called, the three before and two spec functions are queued up. Call it twice and you&#8217;ll wind up with four new specs in your Jasmine environment.</p>
<p>And since it&#8217;s a function, yes, you can pass parameters. The <code>context</code> parameter can be used to pass in a ball and a game for use in the shared specs. Since the &#8220;&#40;shared&#41;&#8221; describe function is called each time <code>sharedBehaviorForGameOf</code> is called, there will be a separate closure for the local <code>ball</code> and <code>game</code>.</p>
<p>So now we can refactor our specs to use our function.</p>
<p><script src="http://gist.github.com/998019.js"> </script></p>
<p>This is a useful technique, but use it appropriately and with a little caution. Use it in situations for consistent testing, not just to DRY up your specs for DRY-ness&#8217;s sake. </p>
<p>Keep the varied behavior &#40;like the field goal scoring above&#41; outside your shared behavior function instead of using the parameters. The parameters should be for the object&#40;s&#41; under test, not their behavior. </p>
<p>And lastly, &#40;as always&#41; keep your mind on your JavaScript closures.</p>
<p>The post <a href="http://pivotallabs.com/drying-up-jasmine-specs-with-shared-behavior/">DRYing up Jasmine Specs with Shared Behavior</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://pivotallabs.com/drying-up-jasmine-specs-with-shared-behavior/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic (Feed is rejected)
Page Caching using apc
Database Caching using apc
Object Caching 1114/1228 objects using apc

 Served from: pivotallabs.com @ 2013-05-22 21:04:01 by W3 Total Cache -->