<?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; Jacob Maine</title>
	<atom:link href="http://pivotallabs.com/author/jacob/feed/" rel="self" type="application/rss+xml" />
	<link>http://pivotallabs.com</link>
	<description>Agility Developed</description>
	<lastBuildDate>Wed, 19 Jun 2013 16:27:53 +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>Standup 2012/2/1: Speed kills</title>
		<link>http://pivotallabs.com/standup-2012-2-1-speed-kills/</link>
		<comments>http://pivotallabs.com/standup-2012-2-1-speed-kills/#comments</comments>
		<pubDate>Wed, 01 Feb 2012 16:17:00 +0000</pubDate>
		<dc:creator>Jacob Maine</dc:creator>
				<category><![CDATA[Standup]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://pivotallabs.com/standup-2012-2-1-speed-kills/</guid>
		<description><![CDATA[<p><h2>Interesting Things</h2>

<ul>
<li>If you haven't noticed, Jasmine tests are at least twice as fast in Chrome as they are in Firefox.  Closing the inspection pane makes it even faster.  Be aware that part of the speed is from Chrome's aggressive caching, which can lead to erroneous test results.</li>
<li>One team is using Backbone's local storage.  When they add <code>model.clear&#40;&#41;</code> after every test run, their tests go from 20 seconds to over 100 seconds.  Someone suggested the <code>silent: true</code> option, to suppress the <code>change</code> events that <code>clear</code> triggers.</li>
<li>To avoid bugs in minified JS put semicolons in the right spots.  The easiest way to do that is to run a tool like JSLint or JSHint over your code.  Add it to your test suite to prevent mistakes.</li>
</ul>

<h2>Ask for Help</h2>

<ul>
<li><em>"In IE8 the numbers don't show up on ordered lists if we dynamically create <code>li</code>s"</em></li>
</ul>

<p>Or rather, they do, but only after hovering over the list.  The common wisdom is that this has been broken in IE for a long time.</p>

<ul>
<li><em>"Our project does some DNS resolution.  Is there a preferred way to mock this in tests?"</em></li>
</ul>

<p>No suggestions.</p>

<ul>
<li><em>"When replying to an email each email system adds different junk to the message.  We're processing those incoming replies.  Any standard way to strip out the junk?"</em></li>
</ul>

<p>Everyone is using the ugly regex approach.  Are there mail gems that handle this?</p> <a href="http://pivotallabs.com/standup-2012-2-1-speed-kills/">Continue reading <span class="meta-nav">&#8594;</span></a></p><p>The post <a href="http://pivotallabs.com/standup-2012-2-1-speed-kills/">Standup 2012/2/1: Speed kills</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></description>
				<content:encoded><![CDATA[<h2>Interesting Things</h2>
<ul>
<li>If you haven&#8217;t noticed, Jasmine tests are at least twice as fast in Chrome as they are in Firefox.  Closing the inspection pane makes it even faster.  Be aware that part of the speed is from Chrome&#8217;s aggressive caching, which can lead to erroneous test results.</li>
<li>One team is using Backbone&#8217;s local storage.  When they add <code>model.clear&#40;&#41;</code> after every test run, their tests go from 20 seconds to over 100 seconds.  Someone suggested the <code>silent: true</code> option, to suppress the <code>change</code> events that <code>clear</code> triggers.</li>
<li>To avoid bugs in minified JS put semicolons in the right spots.  The easiest way to do that is to run a tool like JSLint or JSHint over your code.  Add it to your test suite to prevent mistakes.</li>
</ul>
<h2>Ask for Help</h2>
<ul>
<li><em>&#8220;In IE8 the numbers don&#8217;t show up on ordered lists if we dynamically create <code>li</code>s&#8221;</em></li>
</ul>
<p>Or rather, they do, but only after hovering over the list.  The common wisdom is that this has been broken in IE for a long time.</p>
<ul>
<li><em>&#8220;Our project does some DNS resolution.  Is there a preferred way to mock this in tests?&#8221;</em></li>
</ul>
<p>No suggestions.</p>
<ul>
<li><em>&#8220;When replying to an email each email system adds different junk to the message.  We&#8217;re processing those incoming replies.  Any standard way to strip out the junk?&#8221;</em></li>
</ul>
<p>Everyone is using the ugly regex approach.  Are there mail gems that handle this?</p>
<p>The post <a href="http://pivotallabs.com/standup-2012-2-1-speed-kills/">Standup 2012/2/1: Speed kills</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://pivotallabs.com/standup-2012-2-1-speed-kills/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Standup 2012/1/31: The bleeding edge</title>
		<link>http://pivotallabs.com/standup-2012-1-31-the-bleeding-edge/</link>
		<comments>http://pivotallabs.com/standup-2012-1-31-the-bleeding-edge/#comments</comments>
		<pubDate>Tue, 31 Jan 2012 16:09:00 +0000</pubDate>
		<dc:creator>Jacob Maine</dc:creator>
				<category><![CDATA[Standup]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://pivotallabs.com/standup-2012-1-31-the-bleeding-edge/</guid>
		<description><![CDATA[<p><h2>Interesting Things</h2>

<ul>
<li>There's a new release of <a href="https://news.ycombinator.com/item?id=3530753">Backbone - 0.9.0</a>.  It's billed as a release candidate for 1.0, and seems to be a bit buggy, as RCs can be.  However, it's exciting to see that Backbone is getting close to that milestone.</li>
<li>You should default boolean fields to true or false, at the database layer.  Otherwise your queries have to deal with <a href="http://en.wikipedia.org/wiki/Three-valued_logic">three-valued logic</a>.</li>
<li><a href="http://guides.rubyonrails.org/3_2_release_notes.html">Rails 3.2</a> has some unexpected behavior.  First, the generated form ids have changed ... what used to be <code>id=user_new</code> is now <code>id=new_user</code>.  Second, if your routes file is missing an entry, you will no longer get errors in controller tests.  If you liked that behavior, try out request specs.</li>
</ul>

<h2>Ask for Help</h2>

<ul>
<li><em>"Anyone seen problems with the latest REE and iconv?"</em></li>
</ul>

<p>Everything works on the Linux machines, but on Macs, there's an error about an unrecognized target encoding.  Iconv works on the command line, so it's something about REE.</p> <a href="http://pivotallabs.com/standup-2012-1-31-the-bleeding-edge/">Continue reading <span class="meta-nav">&#8594;</span></a></p><p>The post <a href="http://pivotallabs.com/standup-2012-1-31-the-bleeding-edge/">Standup 2012/1/31: The bleeding edge</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></description>
				<content:encoded><![CDATA[<h2>Interesting Things</h2>
<ul>
<li>There&#8217;s a new release of <a href="https://news.ycombinator.com/item?id=3530753">Backbone &#8211; 0.9.0</a>.  It&#8217;s billed as a release candidate for 1.0, and seems to be a bit buggy, as RCs can be.  However, it&#8217;s exciting to see that Backbone is getting close to that milestone.</li>
<li>You should default boolean fields to true or false, at the database layer.  Otherwise your queries have to deal with <a href="http://en.wikipedia.org/wiki/Three-valued_logic">three-valued logic</a>.</li>
<li><a href="http://guides.rubyonrails.org/3_2_release_notes.html">Rails 3.2</a> has some unexpected behavior.  First, the generated form ids have changed &#8230; what used to be <code>id=user_new</code> is now <code>id=new_user</code>.  Second, if your routes file is missing an entry, you will no longer get errors in controller tests.  If you liked that behavior, try out request specs.</li>
</ul>
<h2>Ask for Help</h2>
<ul>
<li><em>&#8220;Anyone seen problems with the latest REE and iconv?&#8221;</em></li>
</ul>
<p>Everything works on the Linux machines, but on Macs, there&#8217;s an error about an unrecognized target encoding.  Iconv works on the command line, so it&#8217;s something about REE.</p>
<p>The post <a href="http://pivotallabs.com/standup-2012-1-31-the-bleeding-edge/">Standup 2012/1/31: The bleeding edge</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://pivotallabs.com/standup-2012-1-31-the-bleeding-edge/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Standup 1/30/2012:   It&#8217;s all about sharing</title>
		<link>http://pivotallabs.com/standup-1-30-2012-it-s-all-about-sharing/</link>
		<comments>http://pivotallabs.com/standup-1-30-2012-it-s-all-about-sharing/#comments</comments>
		<pubDate>Mon, 30 Jan 2012 16:07:00 +0000</pubDate>
		<dc:creator>Jacob Maine</dc:creator>
				<category><![CDATA[Standup]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://pivotallabs.com/standup-1-30-2012-it-s-all-about-sharing/</guid>
		<description><![CDATA[<p><h2>Interesting Things</h2>

<ul>
<li><code>should_not render_with_layout</code> can be flaky.  For example, asserting that an XHR request doesn't have a layout could fail if the request renders an email template that does have a layout.  These matchers are not very sophisticated, mostly doing string matching, not real template resolution.</li>
</ul>

<h2>Ask for Help</h2>

<ul>
<li><em>"How do I test relative time with <a href="https://github.com/rdy/fixture_builder">FixtureBuilder</a>?"</em></li>
</ul>

<p>Since the models are all built beforehand, it's tricky to write tests that make assertions about relative time.  There were a variety of suggestions.  You can write all the tests relative to a model: <code>some_time.should == model.created_at - 3.days</code>.  You can wrap the entire suite and fixture generation in a <a href="https://github.com/jtrupiano/timecop">Timecop</a> block, but you'll have to deal with losing that context whenever <em>any</em> test calls <code>Timecop.return</code>.</p>

<ul>
<li><em>"How do I separate multiple FixtureBuilder files, but allow them to reference objects created in each other?"</em></li>
</ul>

<p>Typically you want to separate fixtures into smaller files.  But, you also often want to reference objects in other files, for example so you can assign a user from <code>user_fixtures.rb</code> to a post in <code>post_fixtures.rb</code>.  One solution is to <code>eval</code> each file in a loop, so they can share instance variables.  You can also use <code>User.where&#40;:name =&#62; "Tom"&#41;</code> but that's awkward and repetitive.</p>

<ul>
<li><em>"Any suggestions for a CMS that would allow lots of different visual presentations of the content?"</em></li>
</ul>

<p>The questioner is experimenting with branding.  Not many suggestions... a shared database perhaps?</p> <a href="http://pivotallabs.com/standup-1-30-2012-it-s-all-about-sharing/">Continue reading <span class="meta-nav">&#8594;</span></a></p><p>The post <a href="http://pivotallabs.com/standup-1-30-2012-it-s-all-about-sharing/">Standup 1/30/2012:   It&#8217;s all about sharing</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></description>
				<content:encoded><![CDATA[<h2>Interesting Things</h2>
<ul>
<li><code>should_not render_with_layout</code> can be flaky.  For example, asserting that an XHR request doesn&#8217;t have a layout could fail if the request renders an email template that does have a layout.  These matchers are not very sophisticated, mostly doing string matching, not real template resolution.</li>
</ul>
<h2>Ask for Help</h2>
<ul>
<li><em>&#8220;How do I test relative time with <a href="https://github.com/rdy/fixture_builder">FixtureBuilder</a>?&#8221;</em></li>
</ul>
<p>Since the models are all built beforehand, it&#8217;s tricky to write tests that make assertions about relative time.  There were a variety of suggestions.  You can write all the tests relative to a model: <code>some_time.should == model.created_at - 3.days</code>.  You can wrap the entire suite and fixture generation in a <a href="https://github.com/jtrupiano/timecop">Timecop</a> block, but you&#8217;ll have to deal with losing that context whenever <em>any</em> test calls <code>Timecop.return</code>.</p>
<ul>
<li><em>&#8220;How do I separate multiple FixtureBuilder files, but allow them to reference objects created in each other?&#8221;</em></li>
</ul>
<p>Typically you want to separate fixtures into smaller files.  But, you also often want to reference objects in other files, for example so you can assign a user from <code>user_fixtures.rb</code> to a post in <code>post_fixtures.rb</code>.  One solution is to <code>eval</code> each file in a loop, so they can share instance variables.  You can also use <code>User.where&#40;:name =&gt; "Tom"&#41;</code> but that&#8217;s awkward and repetitive.</p>
<ul>
<li><em>&#8220;Any suggestions for a CMS that would allow lots of different visual presentations of the content?&#8221;</em></li>
</ul>
<p>The questioner is experimenting with branding.  Not many suggestions&#8230; a shared database perhaps?</p>
<p>The post <a href="http://pivotallabs.com/standup-1-30-2012-it-s-all-about-sharing/">Standup 1/30/2012:   It&#8217;s all about sharing</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://pivotallabs.com/standup-1-30-2012-it-s-all-about-sharing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Standup 6/3/2011: Get your papers!</title>
		<link>http://pivotallabs.com/standup-sf-6-3-2011-get-your-papers/</link>
		<comments>http://pivotallabs.com/standup-sf-6-3-2011-get-your-papers/#comments</comments>
		<pubDate>Fri, 03 Jun 2011 15:12:00 +0000</pubDate>
		<dc:creator>Jacob Maine</dc:creator>
				<category><![CDATA[Standup]]></category>
		<category><![CDATA[agile]]></category>

		<guid isPermaLink="false">http://pivotallabs.com/standup-sf-6-3-2011-get-your-papers/</guid>
		<description><![CDATA[<p><h2>Interesting Things</h2>

<ul>
<li>The <a href="http://gogaruco.wufoo.com/forms/gogaruco-2011-call-for-proposals/" title="GoGaRuCo 2011 Call for Proposals">GoGaRuCo call for papers</a> is open!</li>
<li>There's a <a href="http://eng.yammer.com/blog/2011/6/2/yammer-drinkup-682011.html" title="Yammer Engineering - Yammer Engineering Blog - Yammer Drinkup!&#38;nbsp;6/8/2011">Yammer Drinkup</a> on June 8th.</li>
<li>You might expect that a where clause like <code>id IN &#40;NULL&#41;</code> would return an empty result set.  Interestingly <code>id NOT IN &#40;NULL&#41;</code> also returns an empty result set.  Welcome to <a href="http://en.wikipedia.org/wiki/Null_(SQL)#Three-valued_logic_.283VL.29">three-valued logic</a>.</li>
<li>Be aware that tests may cast Hash to HashWithIndifferentAccess.</li>
</ul>

<pre>
# controller.rb

  @list = [{'key' =&#62; 'value'}]

# controller_test.rb

  assigns&#40;:list&#41;.first.should be_instance_of HashWithIndifferentAccess # passes
  assigns&#40;:list&#41;.first.should be_kind_of Hash # passes
  assigns&#40;:list&#41;.first.should be_instance_of Hash # fails
</pre>

<h2>Ask for Help</h2>

<ul>
<li><em>"What are some pointers for continuously deploying to staging, and maybe production?"</em></li>
</ul>

<p>At a bare minimum, you'll want to deploy only green builds and have a basic monitoring tool like <a href="http://www.pingdom.com/" title="Pingdom Web site monitoring for 100% uptime. Measure your downtime.">Pingdom</a>.  To get the full benefit of continuous deployment, though, you need to be more sophisticated.  You're really interested in whether your latest deploy improved key metrics like conversion, usage and happiness.  That gives you information about whether your <em>next</em> commit should pull out that feature or keep building on it.  It's truly rapid iteration with customer feedback, but it takes a lot of charts and graphs and faith that you're measuring the right things.</p> <a href="http://pivotallabs.com/standup-sf-6-3-2011-get-your-papers/">Continue reading <span class="meta-nav">&#8594;</span></a></p><p>The post <a href="http://pivotallabs.com/standup-sf-6-3-2011-get-your-papers/">Standup 6/3/2011: Get your papers!</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></description>
				<content:encoded><![CDATA[<h2>Interesting Things</h2>
<ul>
<li>The <a href="http://gogaruco.wufoo.com/forms/gogaruco-2011-call-for-proposals/" title="GoGaRuCo 2011 Call for Proposals">GoGaRuCo call for papers</a> is open!</li>
<li>There&#8217;s a <a href="http://eng.yammer.com/blog/2011/6/2/yammer-drinkup-682011.html" title="Yammer Engineering - Yammer Engineering Blog - Yammer Drinkup!&amp;nbsp;6/8/2011">Yammer Drinkup</a> on June 8th.</li>
<li>You might expect that a where clause like <code>id IN &#40;NULL&#41;</code> would return an empty result set.  Interestingly <code>id NOT IN &#40;NULL&#41;</code> also returns an empty result set.  Welcome to <a href="http://en.wikipedia.org/wiki/Null_(SQL)#Three-valued_logic_.283VL.29">three-valued logic</a>.</li>
<li>Be aware that tests may cast Hash to HashWithIndifferentAccess.</li>
</ul>
<pre>
# controller.rb

  @list = [{'key' =&gt; 'value'}]

# controller_test.rb

  assigns&#40;:list&#41;.first.should be_instance_of HashWithIndifferentAccess # passes
  assigns&#40;:list&#41;.first.should be_kind_of Hash # passes
  assigns&#40;:list&#41;.first.should be_instance_of Hash # fails
</pre>
<h2>Ask for Help</h2>
<ul>
<li><em>&#8220;What are some pointers for continuously deploying to staging, and maybe production?&#8221;</em></li>
</ul>
<p>At a bare minimum, you&#8217;ll want to deploy only green builds and have a basic monitoring tool like <a href="http://www.pingdom.com/" title="Pingdom Web site monitoring for 100% uptime. Measure your downtime.">Pingdom</a>.  To get the full benefit of continuous deployment, though, you need to be more sophisticated.  You&#8217;re really interested in whether your latest deploy improved key metrics like conversion, usage and happiness.  That gives you information about whether your <em>next</em> commit should pull out that feature or keep building on it.  It&#8217;s truly rapid iteration with customer feedback, but it takes a lot of charts and graphs and faith that you&#8217;re measuring the right things.</p>
<p>The post <a href="http://pivotallabs.com/standup-sf-6-3-2011-get-your-papers/">Standup 6/3/2011: Get your papers!</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://pivotallabs.com/standup-sf-6-3-2011-get-your-papers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Standup 6/1/2011: Speedy deals</title>
		<link>http://pivotallabs.com/standup-6-1-2011-speedy-deals/</link>
		<comments>http://pivotallabs.com/standup-6-1-2011-speedy-deals/#comments</comments>
		<pubDate>Wed, 01 Jun 2011 15:09:00 +0000</pubDate>
		<dc:creator>Jacob Maine</dc:creator>
				<category><![CDATA[Standup]]></category>
		<category><![CDATA[agile]]></category>

		<guid isPermaLink="false">http://pivotallabs.com/standup-6-1-2011-speedy-deals/</guid>
		<description><![CDATA[<p><h2>Interesting Things</h2>

<ul>
<li><a href="http://www.groupon.com/san-francisco/" title="San Francisco Deals: Packages &#38; Cheap SF Things to Do &#124; Groupon Deals">Groupon Now! in San Francisco</a> just launched.  Use it to find same-day deals.</li>
<li>If you haven't used it yet, the <a href="https://github.com/bhb/rack-perftools_profiler">Rack perftools.rb project</a> is amazingly useful for performance optimization of web apps.  Add the gem, append a few params to your normal requests, and get served an image showing the call flow of your app, with lots of details about method timing and expense.  We're trying to arrange a tech talk about perftools at Pivotal SF soon.</li>
</ul> <a href="http://pivotallabs.com/standup-6-1-2011-speedy-deals/">Continue reading <span class="meta-nav">&#8594;</span></a></p><p>The post <a href="http://pivotallabs.com/standup-6-1-2011-speedy-deals/">Standup 6/1/2011: Speedy deals</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></description>
				<content:encoded><![CDATA[<h2>Interesting Things</h2>
<ul>
<li><a href="http://www.groupon.com/san-francisco/" title="San Francisco Deals: Packages &amp; Cheap SF Things to Do | Groupon Deals">Groupon Now! in San Francisco</a> just launched.  Use it to find same-day deals.</li>
<li>If you haven&#8217;t used it yet, the <a href="https://github.com/bhb/rack-perftools_profiler">Rack perftools.rb project</a> is amazingly useful for performance optimization of web apps.  Add the gem, append a few params to your normal requests, and get served an image showing the call flow of your app, with lots of details about method timing and expense.  We&#8217;re trying to arrange a tech talk about perftools at Pivotal SF soon.</li>
</ul>
<p>The post <a href="http://pivotallabs.com/standup-6-1-2011-speedy-deals/">Standup 6/1/2011: Speedy deals</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://pivotallabs.com/standup-6-1-2011-speedy-deals/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Standup 2/11/2011: disappearing script tags</title>
		<link>http://pivotallabs.com/standup-2-11-2011-disappearing-script-tags/</link>
		<comments>http://pivotallabs.com/standup-2-11-2011-disappearing-script-tags/#comments</comments>
		<pubDate>Fri, 11 Feb 2011 15:28:00 +0000</pubDate>
		<dc:creator>Jacob Maine</dc:creator>
				<category><![CDATA[Standup]]></category>
		<category><![CDATA[agile]]></category>

		<guid isPermaLink="false">http://pivotallabs.com/standup-2-11-2011-disappearing-script-tags/</guid>
		<description><![CDATA[<p><h2>Interesting Things</h2>

<ul>
<li>When jQuery attaches <code>&#60;script&#62;</code> tags, they quickly disappear.  It adds them to the DOM, executes them and then <em>removes</em> them.  If you switch to <code>document.appendChild</code>, you can search for and find the tags at a later point.  jQuery may be trying to work around browser limits on the number of script tags.</li>
</ul>

<h2>Ask for Help</h2>

<ul>
<li><em>"What's the best way to start a gem?"</em></li>
</ul>

<p><a href="https://github.com/carlhuda/bundler/blob/1-0-stable/man/bundle.ronn"><code>bundle gem</code></a> scaffolds a simple gem.  Don't forget to add a license!</p> <a href="http://pivotallabs.com/standup-2-11-2011-disappearing-script-tags/">Continue reading <span class="meta-nav">&#8594;</span></a></p><p>The post <a href="http://pivotallabs.com/standup-2-11-2011-disappearing-script-tags/">Standup 2/11/2011: disappearing script tags</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></description>
				<content:encoded><![CDATA[<h2>Interesting Things</h2>
<ul>
<li>When jQuery attaches <code>&lt;script&gt;</code> tags, they quickly disappear.  It adds them to the DOM, executes them and then <em>removes</em> them.  If you switch to <code>document.appendChild</code>, you can search for and find the tags at a later point.  jQuery may be trying to work around browser limits on the number of script tags.</li>
</ul>
<h2>Ask for Help</h2>
<ul>
<li><em>&#8220;What&#8217;s the best way to start a gem?&#8221;</em></li>
</ul>
<p><a href="https://github.com/carlhuda/bundler/blob/1-0-stable/man/bundle.ronn"><code>bundle gem</code></a> scaffolds a simple gem.  Don&#8217;t forget to add a license!</p>
<p>More info on <a href="http://stackoverflow.com/questions/610995/jquery-cant-append-script-element">how jQuery handles script tags</a>.</p>
<p>The post <a href="http://pivotallabs.com/standup-2-11-2011-disappearing-script-tags/">Standup 2/11/2011: disappearing script tags</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://pivotallabs.com/standup-2-11-2011-disappearing-script-tags/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Standup 2/10/2011: Broken RSpec array matcher; Introducing Enyo</title>
		<link>http://pivotallabs.com/standup-2-10-2011-broken-rspec-array-matcher-introducing-enyo/</link>
		<comments>http://pivotallabs.com/standup-2-10-2011-broken-rspec-array-matcher-introducing-enyo/#comments</comments>
		<pubDate>Thu, 10 Feb 2011 15:40:00 +0000</pubDate>
		<dc:creator>Jacob Maine</dc:creator>
				<category><![CDATA[Standup]]></category>
		<category><![CDATA[agile]]></category>

		<guid isPermaLink="false">http://pivotallabs.com/standup-2-10-2011-broken-rspec-array-matcher-introducing-enyo/</guid>
		<description><![CDATA[<p><h2>Interesting Things</h2>

<ul>
<li>An upgrade to Rails 3.0.4 broke RSpec's <code>=~</code> Array matcher &#40;which disregards ordering&#41;.  Oddly, there are times when <code>==</code> &#40;which respects ordering&#41; passes but <code>=~</code> fails.</li>
<li>Check out the <a href="http://bit.ly/trovehackday">Trove Hack Day</a>.  Trove lets you access photos from a variety of sites through one API.</li>
<li>We're excited about the new Palm webOS App Framework, <a href="http://www.youtube.com/watch?v=nsZX2dJW5Ss">Enyo</a>.</li>
</ul>

<h2>Ask for Help</h2>

<blockquote>
    <p><em>"We're deploying green builds directly to production.  But the <code>depend</code> option isn't working on the CI box.  Any ideas?"</em></p>
</blockquote>

<p>Run capistrano with <code>trace</code> to get reports on which dependencies are or are not being used.</p> <a href="http://pivotallabs.com/standup-2-10-2011-broken-rspec-array-matcher-introducing-enyo/">Continue reading <span class="meta-nav">&#8594;</span></a></p><p>The post <a href="http://pivotallabs.com/standup-2-10-2011-broken-rspec-array-matcher-introducing-enyo/">Standup 2/10/2011: Broken RSpec array matcher; Introducing Enyo</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></description>
				<content:encoded><![CDATA[<h2>Interesting Things</h2>
<ul>
<li>An upgrade to Rails 3.0.4 broke RSpec&#8217;s <code>=~</code> Array matcher &#40;which disregards ordering&#41;.  Oddly, there are times when <code>==</code> &#40;which respects ordering&#41; passes but <code>=~</code> fails.</li>
<li>Check out the <a href="http://bit.ly/trovehackday">Trove Hack Day</a>.  Trove lets you access photos from a variety of sites through one API.</li>
<li>We&#8217;re excited about the new Palm webOS App Framework, <a href="http://www.youtube.com/watch?v=nsZX2dJW5Ss">Enyo</a>.</li>
</ul>
<h2>Ask for Help</h2>
<blockquote>
<p><em>&#8220;We&#8217;re deploying green builds directly to production.  But the <code>depend</code> option isn&#8217;t working on the CI box.  Any ideas?&#8221;</em></p>
</blockquote>
<p>Run capistrano with <code>trace</code> to get reports on which dependencies are or are not being used.</p>
<p>The post <a href="http://pivotallabs.com/standup-2-10-2011-broken-rspec-array-matcher-introducing-enyo/">Standup 2/10/2011: Broken RSpec array matcher; Introducing Enyo</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://pivotallabs.com/standup-2-10-2011-broken-rspec-array-matcher-introducing-enyo/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Standup 2/9/2011: Beware Rails vulnerabilities</title>
		<link>http://pivotallabs.com/standup-7-9-2011-beware-rails-vulnerabilities/</link>
		<comments>http://pivotallabs.com/standup-7-9-2011-beware-rails-vulnerabilities/#comments</comments>
		<pubDate>Thu, 10 Feb 2011 00:07:00 +0000</pubDate>
		<dc:creator>Jacob Maine</dc:creator>
				<category><![CDATA[Standup]]></category>
		<category><![CDATA[agile]]></category>

		<guid isPermaLink="false">http://pivotallabs.com/standup-7-9-2011-beware-rails-vulnerabilities/</guid>
		<description><![CDATA[<p><h2>Interesting Things</h2>

<p>Report from <a href="http://pivotallabs.com/users/jsusser/blog">Josh Susser</a>:</p>

<p>There have been several vulnerabilities in Rails reported recently. You can check out the announcements on the google group:</p>

<p><a href="http://groups.google.com/group/rubyonrails-security/t/5a9e44a4bf940326">Vulnerability in the Mail gem affecting Rails 3.0.x applications</a></p>

<p><a href="http://groups.google.com/group/rubyonrails-security/t/2d95a3cc23e03665">CSRF Protection Bypass in Ruby on Rails</a></p>

<p><a href="http://groups.google.com/group/rubyonrails-security/t/b658902cf6bf4eed">Potential SQL Injection in Rails 3.0.x</a></p>

<p><a href="http://groups.google.com/group/rubyonrails-security/t/362f1fbc1761b336">Filter Problems on Case-Insensitive Filesystems</a></p>

<p><a href="http://groups.google.com/group/rubyonrails-security/t/f02a48ede8315f81">Potential XSS Problem with <code>mail_to :encode =&#62; :javascript</code></a></p>

<p>The fixes are generally to upgrade to 3.0.4 or 2.3.11. There are patches for many versions if you're stuck and can't upgrade.</p>

<p>If you're not on the google group, you probably should be. It's very low volume, and everything on it is critical information.</p>

<p><a href="http://groups.google.com/group/rubyonrails-security">http://groups.google.com/group/rubyonrails-security</a></p>

<h2>Ask for Help</h2>

<ul>
<li><em>"Any suggestions for testing an Authorize.net integration?"</em></li>
</ul>

<p><a href="https://github.com/myronmarston/vcr">VCR</a> is a good option, assuming you can get VCR to notice the initial requests.</p>

<ul>
<li><p><em>"Running Jasmine with Selenium results in occasional port fail.  Is the best solution to <code>sleep</code> more before setting up connections?"</em></p></li>
<li><p><em>"Devise seems to have the tools to set up an oauth provider.  Are there any gems that pull everything together?"</em></p></li>
</ul> <a href="http://pivotallabs.com/standup-7-9-2011-beware-rails-vulnerabilities/">Continue reading <span class="meta-nav">&#8594;</span></a></p><p>The post <a href="http://pivotallabs.com/standup-7-9-2011-beware-rails-vulnerabilities/">Standup 2/9/2011: Beware Rails vulnerabilities</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></description>
				<content:encoded><![CDATA[<h2>Interesting Things</h2>
<p>Report from <a href="http://pivotallabs.com/users/jsusser/blog">Josh Susser</a>:</p>
<p>There have been several vulnerabilities in Rails reported recently. You can check out the announcements on the google group:</p>
<p><a href="http://groups.google.com/group/rubyonrails-security/t/5a9e44a4bf940326">Vulnerability in the Mail gem affecting Rails 3.0.x applications</a></p>
<p><a href="http://groups.google.com/group/rubyonrails-security/t/2d95a3cc23e03665">CSRF Protection Bypass in Ruby on Rails</a></p>
<p><a href="http://groups.google.com/group/rubyonrails-security/t/b658902cf6bf4eed">Potential SQL Injection in Rails 3.0.x</a></p>
<p><a href="http://groups.google.com/group/rubyonrails-security/t/362f1fbc1761b336">Filter Problems on Case-Insensitive Filesystems</a></p>
<p><a href="http://groups.google.com/group/rubyonrails-security/t/f02a48ede8315f81">Potential XSS Problem with <code>mail_to :encode =&gt; :javascript</code></a></p>
<p>The fixes are generally to upgrade to 3.0.4 or 2.3.11. There are patches for many versions if you&#8217;re stuck and can&#8217;t upgrade.</p>
<p>If you&#8217;re not on the google group, you probably should be. It&#8217;s very low volume, and everything on it is critical information.</p>
<p><a href="http://groups.google.com/group/rubyonrails-security">http://groups.google.com/group/rubyonrails-security</a></p>
<h2>Ask for Help</h2>
<ul>
<li><em>&#8220;Any suggestions for testing an Authorize.net integration?&#8221;</em></li>
</ul>
<p><a href="https://github.com/myronmarston/vcr">VCR</a> is a good option, assuming you can get VCR to notice the initial requests.</p>
<ul>
<li>
<p><em>&#8220;Running Jasmine with Selenium results in occasional port fail.  Is the best solution to <code>sleep</code> more before setting up connections?&#8221;</em></p>
</li>
<li>
<p><em>&#8220;Devise seems to have the tools to set up an oauth provider.  Are there any gems that pull everything together?&#8221;</em></p>
</li>
</ul>
<p>The post <a href="http://pivotallabs.com/standup-7-9-2011-beware-rails-vulnerabilities/">Standup 2/9/2011: Beware Rails vulnerabilities</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://pivotallabs.com/standup-7-9-2011-beware-rails-vulnerabilities/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Standup 2/8/2011: Simulating mouse events in Capybara</title>
		<link>http://pivotallabs.com/standup-2-8-2011-simulating-mouse-events-in-capybara/</link>
		<comments>http://pivotallabs.com/standup-2-8-2011-simulating-mouse-events-in-capybara/#comments</comments>
		<pubDate>Tue, 08 Feb 2011 16:03:00 +0000</pubDate>
		<dc:creator>Jacob Maine</dc:creator>
				<category><![CDATA[Standup]]></category>
		<category><![CDATA[agile]]></category>

		<guid isPermaLink="false">http://pivotallabs.com/standup-2-8-2011-simulating-mouse-events-in-capybara/</guid>
		<description><![CDATA[<p><h2>Interesting Things</h2>

<ul>
<li><p>Trying to test functional Ruby with RSpec?  Here's an <a href="http://posterous.timocracy.com/a-pattern-for-testing-class-methods-in-ruby-w">idea</a>.</p></li>
<li><p>Worth another pointer:  <a href="http://rvm.beginrescueend.com/workflow/scripting/">Source RVM</a> in your bash scripts if you need RVM to manage Ruby and gemsets.  Some people object to using RVM in production – they prefer to set <code>GEM_HOME</code> and <code>PATH</code>, or use the system Ruby.</p></li>
</ul>

<h2>Ask for Help</h2>

<ul>
<li><em>"Is there a clean way to simulate mouse events in Capybara tests?"</em></li>
</ul>

<p>Capybara and Selenium don't seem to have tools for simulating mouse events other than 'click'.  You can ask Selenium to execute JavaScript that triggers a mouse-up event.  But is there a nicer way, either in Capybara or Selenium?</p>

<ul>
<li><p><em>"<a href="https://github.com/laserlemon/vestal_versions"><code>vestal_versions</code></a> is a popular record versioning tool for Rails.  Any other suggestions?"</em></p></li>
<li><p><em>"We have a bunch of markup generated by a WYSIWYG editor.  We're changing our routing and need to update all the links.  Is Nokogiri the best solution?"</em></p></li>
</ul> <a href="http://pivotallabs.com/standup-2-8-2011-simulating-mouse-events-in-capybara/">Continue reading <span class="meta-nav">&#8594;</span></a></p><p>The post <a href="http://pivotallabs.com/standup-2-8-2011-simulating-mouse-events-in-capybara/">Standup 2/8/2011: Simulating mouse events in Capybara</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></description>
				<content:encoded><![CDATA[<h2>Interesting Things</h2>
<ul>
<li>
<p>Trying to test functional Ruby with RSpec?  Here&#8217;s an <a href="http://posterous.timocracy.com/a-pattern-for-testing-class-methods-in-ruby-w">idea</a>.</p>
</li>
<li>
<p>Worth another pointer:  <a href="http://rvm.beginrescueend.com/workflow/scripting/">Source RVM</a> in your bash scripts if you need RVM to manage Ruby and gemsets.  Some people object to using RVM in production – they prefer to set <code>GEM_HOME</code> and <code>PATH</code>, or use the system Ruby.</p>
</li>
</ul>
<h2>Ask for Help</h2>
<ul>
<li><em>&#8220;Is there a clean way to simulate mouse events in Capybara tests?&#8221;</em></li>
</ul>
<p>Capybara and Selenium don&#8217;t seem to have tools for simulating mouse events other than &#8216;click&#8217;.  You can ask Selenium to execute JavaScript that triggers a mouse-up event.  But is there a nicer way, either in Capybara or Selenium?</p>
<ul>
<li>
<p><em>&#8220;<a href="https://github.com/laserlemon/vestal_versions"><code>vestal_versions</code></a> is a popular record versioning tool for Rails.  Any other suggestions?&#8221;</em></p>
</li>
<li>
<p><em>&#8220;We have a bunch of markup generated by a WYSIWYG editor.  We&#8217;re changing our routing and need to update all the links.  Is Nokogiri the best solution?&#8221;</em></p>
</li>
</ul>
<p>The post <a href="http://pivotallabs.com/standup-2-8-2011-simulating-mouse-events-in-capybara/">Standup 2/8/2011: Simulating mouse events in Capybara</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://pivotallabs.com/standup-2-8-2011-simulating-mouse-events-in-capybara/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SF Standup 3/4-3/5/2010</title>
		<link>http://pivotallabs.com/sf-standup-3-4-3-5-2010/</link>
		<comments>http://pivotallabs.com/sf-standup-3-4-3-5-2010/#comments</comments>
		<pubDate>Fri, 05 Mar 2010 15:25:00 +0000</pubDate>
		<dc:creator>Jacob Maine</dc:creator>
				<category><![CDATA[Standup]]></category>
		<category><![CDATA[prototype]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://pivotallabs.com/sf-standup-3-4-3-5-2010/</guid>
		<description><![CDATA[<p><h2>Help</h2>

<blockquote>
    <p><em>"What's the best way to test that an array contains another array?"</em></p>
</blockquote>

<p>A custom matcher using <code>array - other_array</code> was suggested.</p>

<h2>Interesting</h2>

<blockquote>
    <p>The team that was having <a href="http://pivotallabs.com/users/jacob/blog/articles/1182-sf-standup-3-3-2010-disappearing-response-codes">problems with Prototype response codes</a> found a partial solution.  </p>
</blockquote>

<p>They sometimes call <code>abort&#40;&#41;</code> on the request which triggers the callbacks with a 0 response code.  They found that if they set <code>transport.onreadystatechange = function&#40;&#41; {};</code> before calling <code>abort&#40;&#41;</code> they could skip the callbacks, and manually call whatever clean-up they needed.  That Prototype interprets 0 as a success still sounds strange.</p> <a href="http://pivotallabs.com/sf-standup-3-4-3-5-2010/">Continue reading <span class="meta-nav">&#8594;</span></a></p><p>The post <a href="http://pivotallabs.com/sf-standup-3-4-3-5-2010/">SF Standup 3/4-3/5/2010</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></description>
				<content:encoded><![CDATA[<h2>Help</h2>
<blockquote>
<p><em>&#8220;What&#8217;s the best way to test that an array contains another array?&#8221;</em></p>
</blockquote>
<p>A custom matcher using <code>array - other_array</code> was suggested.</p>
<h2>Interesting</h2>
<blockquote>
<p>The team that was having <a href="http://pivotallabs.com/users/jacob/blog/articles/1182-sf-standup-3-3-2010-disappearing-response-codes">problems with Prototype response codes</a> found a partial solution.  </p>
</blockquote>
<p>They sometimes call <code>abort&#40;&#41;</code> on the request which triggers the callbacks with a 0 response code.  They found that if they set <code>transport.onreadystatechange = function&#40;&#41; {};</code> before calling <code>abort&#40;&#41;</code> they could skip the callbacks, and manually call whatever clean-up they needed.  That Prototype interprets 0 as a success still sounds strange.</p>
<p>The post <a href="http://pivotallabs.com/sf-standup-3-4-3-5-2010/">SF Standup 3/4-3/5/2010</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://pivotallabs.com/sf-standup-3-4-3-5-2010/feed/</wfw:commentRss>
		<slash:comments>2</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 1147/1236 objects using apc

 Served from: pivotallabs.com @ 2013-06-19 11:39:30 by W3 Total Cache -->