<?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; Phil Goodwin</title>
	<atom:link href="http://pivotallabs.com/author/phil/feed/" rel="self" type="application/rss+xml" />
	<link>http://pivotallabs.com</link>
	<description>Agility Developed</description>
	<lastBuildDate>Tue, 21 May 2013 16:50:52 +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>&#8220;expect errors&#8221;</title>
		<link>http://pivotallabs.com/expect-errors/</link>
		<comments>http://pivotallabs.com/expect-errors/#comments</comments>
		<pubDate>Fri, 08 Feb 2013 17:21:24 +0000</pubDate>
		<dc:creator>Phil Goodwin</dc:creator>
				<category><![CDATA[Standup]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[clang]]></category>
		<category><![CDATA[db]]></category>
		<category><![CDATA[party]]></category>
		<category><![CDATA[rack]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://pivotallabs.com/?p=15155</guid>
		<description><![CDATA[<p>Helps &#34;expect errors&#34; when compiling Ruby with clang Compiled Ruby with clang and the compile output contained a warning to &#34;expect errors&#34;. Has anyone experienced these alleged errors? One member or our audience said that they had compiled the same way and not experienced any problems. Interestings Update your rack gem Nasty remote execution vulnerability. rack.github.com parallel_tests prepare task does not drop tables If you&#39;re using parallel_tests, be aware that, unlike rake db:test:prepare, the rake parallel:prepare task does not purge the databases before it loads the schema. You&#39;ll only notice this if you&#39;re dropping tables &#8211; the dropped tables will stay forever in the parallel databases. We have a fork that works properly. (Pull request coming soon.) https://github.com/pivotal-gemini/parallel_tests Events 02/15: Block Party http://engine.is/blockparty next Friday celebrating start ups in SF w/food trucks at lunch time.</p><p>The post <a href="http://pivotallabs.com/expect-errors/">&#8220;expect errors&#8221;</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></description>
				<content:encoded><![CDATA[<h2>Helps</h2>
<h3>&quot;expect errors&quot; when compiling Ruby with clang</h3>
<p>Compiled Ruby with clang and the compile output contained a warning to &quot;expect errors&quot;. Has anyone experienced these alleged errors?</p>
<p>One member or our audience said that they had compiled the same way and not experienced any problems.</p>
<h2>Interestings</h2>
<h3>Update your rack gem</h3>
<p>Nasty remote execution vulnerability.</p>
<p>rack.github.com</p>
<h3>parallel_tests prepare task does not drop tables</h3>
<p>If you&#39;re using parallel_tests, be aware that, unlike rake db:test:prepare, the rake parallel:prepare task does not purge the databases before it loads the schema. You&#39;ll only notice this if you&#39;re dropping tables &#8211; the dropped tables will stay forever in the parallel databases.</p>
<p>We have a fork that works properly. (Pull request coming soon.)<br />
<a href="https://github.com/pivotal-gemini/parallel_tests">https://github.com/pivotal-gemini/parallel_tests</a></p>
<h2>Events</h2>
<h3>02/15: Block Party</h3>
<p><a href="http://engine.is/blockparty">http://engine.is/blockparty</a></p>
<p>next Friday celebrating start ups in SF w/food trucks at lunch time.</p>
<p>The post <a href="http://pivotallabs.com/expect-errors/">&#8220;expect errors&#8221;</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://pivotallabs.com/expect-errors/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Standup 5/3/2012 Time, time and more time</title>
		<link>http://pivotallabs.com/standup-5-3-2012-time-time-and-more-time/</link>
		<comments>http://pivotallabs.com/standup-5-3-2012-time-time-and-more-time/#comments</comments>
		<pubDate>Thu, 03 May 2012 18:45:00 +0000</pubDate>
		<dc:creator>Phil Goodwin</dc:creator>
				<category><![CDATA[Standup]]></category>
		<category><![CDATA[agile]]></category>

		<guid isPermaLink="false">http://pivotallabs.com/standup-5-3-2012-time-time-and-more-time/</guid>
		<description><![CDATA[<p><h2>Helps</h2>

<blockquote>
    <p><em>"How do I avoid timing problems while doing integration tests on single page apps?"</em></p>
</blockquote>

<ul>
<li>Use a <code>wait_until</code> block with a selector which has not been cached.</li>
<li>Use a <code>wait_until</code> block with a piece of javascript using <code>evaluate_script</code> which you expect to return when your page is finished loading.</li>
<li>Use a <code>wait_until</code> block which waits for all AJAX to stop using <code>$.ajaxStop&#40;&#41;</code>.</li>
</ul>

<h2>Interesting</h2>

<ul>
<li><code>Time.parse&#40;invalid&#41;</code> will throw an exception, but
<code>Time.zone.parse&#40;invalid&#41;</code> will return <code>nil</code>. Because <code>Time.parse</code> is part of the  Ruby library while <code>Time.zone</code> is part of Rails. </li>
<li><code>parallel_tests</code> really does speed up your tests. It munges all the output together into an ugly mess though.</li>
</ul> <a href="http://pivotallabs.com/standup-5-3-2012-time-time-and-more-time/">Continue reading <span class="meta-nav">&#8594;</span></a></p><p>The post <a href="http://pivotallabs.com/standup-5-3-2012-time-time-and-more-time/">Standup 5/3/2012 Time, time and more time</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></description>
				<content:encoded><![CDATA[<h2>Helps</h2>
<blockquote>
<p><em>&#8220;How do I avoid timing problems while doing integration tests on single page apps?&#8221;</em></p>
</blockquote>
<ul>
<li>Use a <code>wait_until</code> block with a selector which has not been cached.</li>
<li>Use a <code>wait_until</code> block with a piece of javascript using <code>evaluate_script</code> which you expect to return when your page is finished loading.</li>
<li>Use a <code>wait_until</code> block which waits for all AJAX to stop using <code>$.ajaxStop&#40;&#41;</code>.</li>
</ul>
<h2>Interesting</h2>
<ul>
<li><code>Time.parse&#40;invalid&#41;</code> will throw an exception, but<br />
<code>Time.zone.parse&#40;invalid&#41;</code> will return <code>nil</code>. Because <code>Time.parse</code> is part of the  Ruby library while <code>Time.zone</code> is part of Rails. </li>
<li><code>parallel_tests</code> really does speed up your tests. It munges all the output together into an ugly mess though.</li>
</ul>
<p>The post <a href="http://pivotallabs.com/standup-5-3-2012-time-time-and-more-time/">Standup 5/3/2012 Time, time and more time</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://pivotallabs.com/standup-5-3-2012-time-time-and-more-time/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Standup 5/2/2012 A hack a day&#8230;</title>
		<link>http://pivotallabs.com/standup-5-2-2012-a-hack-a-day/</link>
		<comments>http://pivotallabs.com/standup-5-2-2012-a-hack-a-day/#comments</comments>
		<pubDate>Wed, 02 May 2012 18:16:00 +0000</pubDate>
		<dc:creator>Phil Goodwin</dc:creator>
				<category><![CDATA[Standup]]></category>
		<category><![CDATA[agile]]></category>

		<guid isPermaLink="false">http://pivotallabs.com/standup-5-2-2012-a-hack-a-day/</guid>
		<description><![CDATA[<p><h2>Interesting</h2>

<ul>
<li>Date.today is not aware of the local timezone, but Date.yesterday is. Use Date.current or Time.zone.now instead.</li>
<li>Hackathon May 12-13 for mobile game development. <a href="http://hackathon.chartboost.com/">More info</a></li>
</ul> <a href="http://pivotallabs.com/standup-5-2-2012-a-hack-a-day/">Continue reading <span class="meta-nav">&#8594;</span></a></p><p>The post <a href="http://pivotallabs.com/standup-5-2-2012-a-hack-a-day/">Standup 5/2/2012 A hack a day&#8230;</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></description>
				<content:encoded><![CDATA[<h2>Interesting</h2>
<ul>
<li>Date.today is not aware of the local timezone, but Date.yesterday is. Use Date.current or Time.zone.now instead.</li>
<li>Hackathon May 12-13 for mobile game development. <a href="http://hackathon.chartboost.com/">More info</a></li>
</ul>
<p>The post <a href="http://pivotallabs.com/standup-5-2-2012-a-hack-a-day/">Standup 5/2/2012 A hack a day&#8230;</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://pivotallabs.com/standup-5-2-2012-a-hack-a-day/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Standup 5/1/2012 Coping with external APIs</title>
		<link>http://pivotallabs.com/standup-5-1-2012/</link>
		<comments>http://pivotallabs.com/standup-5-1-2012/#comments</comments>
		<pubDate>Wed, 02 May 2012 18:03:00 +0000</pubDate>
		<dc:creator>Phil Goodwin</dc:creator>
				<category><![CDATA[Standup]]></category>
		<category><![CDATA[agile]]></category>

		<guid isPermaLink="false">http://pivotallabs.com/standup-5-1-2012/</guid>
		<description><![CDATA[<p><h2>Helps</h2>

<blockquote>
    <p><em>"How do I not use VCR with Webmock in a spec?"</em></p>
</blockquote>

<p>Use VCR.eject_cassette, see: <a href="https://www.relishapp.com/myronmarston/vcr/v/2-1-1/docs/test-frameworks/usage-with-shoulda">docs</a></p>

<blockquote>
    <p><em>"Facebook now expires all tokens after 60 days. If you schedule a task with Facebook in the future it may use the expired token. Any solutions?"</em></p>
</blockquote>

<p>Sadly there is nothing you can do. Send the user an email to re-auth.</p>

<blockquote>
    <p><em>"Good way to get replies on Twitter?"</em></p>
</blockquote>

<p>Nope. Crawl thorough all your mentions, to get to your replies.</p> <a href="http://pivotallabs.com/standup-5-1-2012/">Continue reading <span class="meta-nav">&#8594;</span></a></p><p>The post <a href="http://pivotallabs.com/standup-5-1-2012/">Standup 5/1/2012 Coping with external APIs</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></description>
				<content:encoded><![CDATA[<h2>Helps</h2>
<blockquote>
<p><em>&#8220;How do I not use VCR with Webmock in a spec?&#8221;</em></p>
</blockquote>
<p>Use VCR.eject_cassette, see: <a href="https://www.relishapp.com/myronmarston/vcr/v/2-1-1/docs/test-frameworks/usage-with-shoulda">docs</a></p>
<blockquote>
<p><em>&#8220;Facebook now expires all tokens after 60 days. If you schedule a task with Facebook in the future it may use the expired token. Any solutions?&#8221;</em></p>
</blockquote>
<p>Sadly there is nothing you can do. Send the user an email to re-auth.</p>
<blockquote>
<p><em>&#8220;Good way to get replies on Twitter?&#8221;</em></p>
</blockquote>
<p>Nope. Crawl thorough all your mentions, to get to your replies.</p>
<p>The post <a href="http://pivotallabs.com/standup-5-1-2012/">Standup 5/1/2012 Coping with external APIs</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://pivotallabs.com/standup-5-1-2012/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Standup 4/30/2012 Facebook and Unicorns</title>
		<link>http://pivotallabs.com/standup-4-30-2012-facebook-and-unicorns/</link>
		<comments>http://pivotallabs.com/standup-4-30-2012-facebook-and-unicorns/#comments</comments>
		<pubDate>Mon, 30 Apr 2012 18:19:00 +0000</pubDate>
		<dc:creator>Phil Goodwin</dc:creator>
				<category><![CDATA[Standup]]></category>

		<guid isPermaLink="false">http://pivotallabs.com/standup-4-30-2012-facebook-and-unicorns/</guid>
		<description><![CDATA[<p><h2>Helps</h2>

<blockquote>
    <p><em>"How do I prevent Facebook from kicking out my "demo" user when all the devs are logging into that account multiple times a day?"</em></p>
</blockquote>

<p>Some people have had luck with creating that kind of account dynamically on a per use basis.</p>

<blockquote>
    <p><em>"How do you make sure unicorn restarts when running under runit?"</em></p>
</blockquote>

<p>A project is running Unicorn under runit, and finding it doesn't always restart when it's told to.  It seems Unicorn just isn't responding to the signal.  No one had seen anything similar.</p>

<blockquote>
    <p><em>"Can heroku_san automate the managing of my addons?"</em></p>
</blockquote>

<p>Update to the newest version! See the <a href="https://github.com/fastestforward/heroku_san/pull/81">github pull request</a></p> <a href="http://pivotallabs.com/standup-4-30-2012-facebook-and-unicorns/">Continue reading <span class="meta-nav">&#8594;</span></a></p><p>The post <a href="http://pivotallabs.com/standup-4-30-2012-facebook-and-unicorns/">Standup 4/30/2012 Facebook and Unicorns</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></description>
				<content:encoded><![CDATA[<h2>Helps</h2>
<blockquote>
<p><em>&#8220;How do I prevent Facebook from kicking out my &#8220;demo&#8221; user when all the devs are logging into that account multiple times a day?&#8221;</em></p>
</blockquote>
<p>Some people have had luck with creating that kind of account dynamically on a per use basis.</p>
<blockquote>
<p><em>&#8220;How do you make sure unicorn restarts when running under runit?&#8221;</em></p>
</blockquote>
<p>A project is running Unicorn under runit, and finding it doesn&#8217;t always restart when it&#8217;s told to.  It seems Unicorn just isn&#8217;t responding to the signal.  No one had seen anything similar.</p>
<blockquote>
<p><em>&#8220;Can heroku_san automate the managing of my addons?&#8221;</em></p>
</blockquote>
<p>Update to the newest version! See the <a href="https://github.com/fastestforward/heroku_san/pull/81">github pull request</a></p>
<p>The post <a href="http://pivotallabs.com/standup-4-30-2012-facebook-and-unicorns/">Standup 4/30/2012 Facebook and Unicorns</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://pivotallabs.com/standup-4-30-2012-facebook-and-unicorns/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Standup 8/30/2011 Cruisin&#8217; for trouble</title>
		<link>http://pivotallabs.com/standup-8-30-2011-cruisin-for-trouble/</link>
		<comments>http://pivotallabs.com/standup-8-30-2011-cruisin-for-trouble/#comments</comments>
		<pubDate>Tue, 30 Aug 2011 14:25:00 +0000</pubDate>
		<dc:creator>Phil Goodwin</dc:creator>
				<category><![CDATA[Standup]]></category>
		<category><![CDATA[ccrb]]></category>

		<guid isPermaLink="false">http://pivotallabs.com/standup-8-30-2011-cruisin-for-trouble/</guid>
		<description><![CDATA[<p><h2>Helps</h2>

<blockquote>
    <p>*Why is Cruise Control green when my tests are failing?</p>
</blockquote>

<p>Probably because the rake task running the tests returns zero. Cruise Control relies on the exit code of the processes it runs to determine whether to report success or failure. This seems like a common Cruise Control pitfall. It's good practice to run a failing test through Cruise Control during initial set up in order to avoid this problem</p> <a href="http://pivotallabs.com/standup-8-30-2011-cruisin-for-trouble/">Continue reading <span class="meta-nav">&#8594;</span></a></p><p>The post <a href="http://pivotallabs.com/standup-8-30-2011-cruisin-for-trouble/">Standup 8/30/2011 Cruisin&#8217; for trouble</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></description>
				<content:encoded><![CDATA[<h2>Helps</h2>
<blockquote>
<p>*Why is Cruise Control green when my tests are failing?</p>
</blockquote>
<p>Probably because the rake task running the tests returns zero. Cruise Control relies on the exit code of the processes it runs to determine whether to report success or failure. This seems like a common Cruise Control pitfall. It&#8217;s good practice to run a failing test through Cruise Control during initial set up in order to avoid this problem</p>
<p>The post <a href="http://pivotallabs.com/standup-8-30-2011-cruisin-for-trouble/">Standup 8/30/2011 Cruisin&#8217; for trouble</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://pivotallabs.com/standup-8-30-2011-cruisin-for-trouble/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Standup 5/27/2011 Hack For Change, Guiderails goes public, Jenkins &amp; Jasmine jems</title>
		<link>http://pivotallabs.com/standup-5-27-2011-hack-for-change-guiderails-goes-public-jenkins-jasmine-jems/</link>
		<comments>http://pivotallabs.com/standup-5-27-2011-hack-for-change-guiderails-goes-public-jenkins-jasmine-jems/#comments</comments>
		<pubDate>Fri, 27 May 2011 14:17:00 +0000</pubDate>
		<dc:creator>Phil Goodwin</dc:creator>
				<category><![CDATA[Standup]]></category>
		<category><![CDATA[ccrb]]></category>
		<category><![CDATA[events]]></category>
		<category><![CDATA[jasmine]]></category>
		<category><![CDATA[jenkins]]></category>
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">http://pivotallabs.com/standup-5-27-2011-hack-for-change-guiderails-goes-public-jenkins-jasmine-jems/</guid>
		<description><![CDATA[<p><h2>Helps</h2>

<blockquote>
    <p>*Is there a way to change the URL that CCRB pulls from when it builds?</p>
</blockquote>

<p>"Use Jenkins" &#40;we will be standardizing on Jenkins in the near future anyway&#41;</p>

<p>Apparently the answer has been found successfully in the past by grepping through the Ruby portion of the CCRB source.</p>

<h2>Interesting</h2>

<ul>
<li><p>Hack For Change, sponsored by Change.org is inviting engineers and designers to spend 24 hours to build a web or mobile app that can help advance positive change. Top-rated hacks will be awarded a total of $10,000 to ensure their continued success and will gain recognition through widespread media coverage and promotion. http://hackforchange.com</p></li>
<li><p>Guiderails: Pivotal's Rails 3 Templates, has been made publicly available on GitHub. https://github.com/pivotal/guiderails</p></li>
<li><p>While there is not consensus on how hash tags in URLs that are being redirected should be handled, Safari stands apart from most other modern browsers by throwing them away entirely.</p></li>
<li><p>When configuring a new project for Jenkins, remember to specify the branch to build, otherwise Jenkins will try to pull and build all branches from the repo.</p></li>
<li><p>Jasmine has a bug in its "runs and waits for" construct that causes it to ignore changes to the defaults for the timer and message on the "waits for" block.</p></li>
</ul> <a href="http://pivotallabs.com/standup-5-27-2011-hack-for-change-guiderails-goes-public-jenkins-jasmine-jems/">Continue reading <span class="meta-nav">&#8594;</span></a></p><p>The post <a href="http://pivotallabs.com/standup-5-27-2011-hack-for-change-guiderails-goes-public-jenkins-jasmine-jems/">Standup 5/27/2011 Hack For Change, Guiderails goes public, Jenkins &amp; Jasmine jems</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></description>
				<content:encoded><![CDATA[<h2>Helps</h2>
<blockquote>
<p>*Is there a way to change the URL that CCRB pulls from when it builds?</p>
</blockquote>
<p>&#8220;Use Jenkins&#8221; &#40;we will be standardizing on Jenkins in the near future anyway&#41;</p>
<p>Apparently the answer has been found successfully in the past by grepping through the Ruby portion of the CCRB source.</p>
<h2>Interesting</h2>
<ul>
<li>
<p>Hack For Change, sponsored by Change.org is inviting engineers and designers to spend 24 hours to build a web or mobile app that can help advance positive change. Top-rated hacks will be awarded a total of $10,000 to ensure their continued success and will gain recognition through widespread media coverage and promotion. http://hackforchange.com</p>
</li>
<li>
<p>Guiderails: Pivotal&#8217;s Rails 3 Templates, has been made publicly available on GitHub. https://github.com/pivotal/guiderails</p>
</li>
<li>
<p>While there is not consensus on how hash tags in URLs that are being redirected should be handled, Safari stands apart from most other modern browsers by throwing them away entirely.</p>
</li>
<li>
<p>When configuring a new project for Jenkins, remember to specify the branch to build, otherwise Jenkins will try to pull and build all branches from the repo.</p>
</li>
<li>
<p>Jasmine has a bug in its &#8220;runs and waits for&#8221; construct that causes it to ignore changes to the defaults for the timer and message on the &#8220;waits for&#8221; block.</p>
</li>
</ul>
<p>The post <a href="http://pivotallabs.com/standup-5-27-2011-hack-for-change-guiderails-goes-public-jenkins-jasmine-jems/">Standup 5/27/2011 Hack For Change, Guiderails goes public, Jenkins &amp; Jasmine jems</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://pivotallabs.com/standup-5-27-2011-hack-for-change-guiderails-goes-public-jenkins-jasmine-jems/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Standup 5/25/2011 Cloudfront logs, terrible YAML, and RubyMine can CanCan</title>
		<link>http://pivotallabs.com/cloudfront-logs-terrible-yaml-and-rubymine-can-cancan/</link>
		<comments>http://pivotallabs.com/cloudfront-logs-terrible-yaml-and-rubymine-can-cancan/#comments</comments>
		<pubDate>Wed, 25 May 2011 14:17:00 +0000</pubDate>
		<dc:creator>Phil Goodwin</dc:creator>
				<category><![CDATA[Standup]]></category>

		<guid isPermaLink="false">http://pivotallabs.com/cloudfront-logs-terrible-yaml-and-rubymine-can-cancan/</guid>
		<description><![CDATA[<p><h2>Helps</h2>

<blockquote>
    <p>*Is there a way to log in and download log files from Cloudfront, preferably programmatically? They can be obtained from the management console but access is needed from the command line.</p>
</blockquote>

<h2>Interesting</h2>

<ul>
<li><p>In Ruby 1.9.2 the delayed_job facility uses the Psych parser to serialize and Syck to deserialize the delayed job, with unpleasant results. One way to solve the problem is to go into the Ruby installation and "if false" away the Psych source code, it's an admittedly terrible approach, but it has the appeal of actually working.</p></li>
<li><p>Ruby Mine does not behave well with CanCan out of the box.
The problems can be fixed by editing the CanCan Ruby file and commenting out the line that sets rspec equal to spec unless rspec is already defined.</p></li>
</ul> <a href="http://pivotallabs.com/cloudfront-logs-terrible-yaml-and-rubymine-can-cancan/">Continue reading <span class="meta-nav">&#8594;</span></a></p><p>The post <a href="http://pivotallabs.com/cloudfront-logs-terrible-yaml-and-rubymine-can-cancan/">Standup 5/25/2011 Cloudfront logs, terrible YAML, and RubyMine can CanCan</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></description>
				<content:encoded><![CDATA[<h2>Helps</h2>
<blockquote>
<p>*Is there a way to log in and download log files from Cloudfront, preferably programmatically? They can be obtained from the management console but access is needed from the command line.</p>
</blockquote>
<h2>Interesting</h2>
<ul>
<li>
<p>In Ruby 1.9.2 the delayed_job facility uses the Psych parser to serialize and Syck to deserialize the delayed job, with unpleasant results. One way to solve the problem is to go into the Ruby installation and &#8220;if false&#8221; away the Psych source code, it&#8217;s an admittedly terrible approach, but it has the appeal of actually working.</p>
</li>
<li>
<p>Ruby Mine does not behave well with CanCan out of the box.<br />
The problems can be fixed by editing the CanCan Ruby file and commenting out the line that sets rspec equal to spec unless rspec is already defined.</p>
</li>
</ul>
<p>The post <a href="http://pivotallabs.com/cloudfront-logs-terrible-yaml-and-rubymine-can-cancan/">Standup 5/25/2011 Cloudfront logs, terrible YAML, and RubyMine can CanCan</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://pivotallabs.com/cloudfront-logs-terrible-yaml-and-rubymine-can-cancan/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Standup 12/17/2010 Comparing indexed date columns, git subtrees, Headless Selenium for CI</title>
		<link>http://pivotallabs.com/standup-12-17-2010-comparing-indexed-date-columns-git-subtrees-headless-selenium-for-ci/</link>
		<comments>http://pivotallabs.com/standup-12-17-2010-comparing-indexed-date-columns-git-subtrees-headless-selenium-for-ci/#comments</comments>
		<pubDate>Fri, 17 Dec 2010 15:19:00 +0000</pubDate>
		<dc:creator>Phil Goodwin</dc:creator>
				<category><![CDATA[Standup]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[ccrb]]></category>
		<category><![CDATA[ci]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[headless]]></category>
		<category><![CDATA[rvm]]></category>
		<category><![CDATA[selenium]]></category>
		<category><![CDATA[shell]]></category>

		<guid isPermaLink="false">http://pivotallabs.com/standup-12-17-2010-comparing-indexed-date-columns-git-subtrees-headless-selenium-for-ci/</guid>
		<description><![CDATA[<p><h2>Helps</h2>

<blockquote>
    <p><em>Is there a way to get MySql indexing to speed up queries involving greater and less than operators on date columns?</em></p>
</blockquote>

<p>Postgres handles these operators a little bit better than MySql, but may not actually solve this problem.</p>

<p>Using millis instead of dates would give the DB the best chance of handling this scenario.</p>

<blockquote>
    <p><em>We are using Git's subtree merge facility instead of submodules to stay synced to a different repository for part of our project. How do we push changes back to that repo?</em></p>
</blockquote>

<p>See Tim Connor's blog post "<a href="http://posterous.timocracy.com/git-sub-tree-merging-back-to-the-subtree-for">Git sub-tree merging back to the subtree for pushing to an upstream</a>". Early in that post is a pointer to an article describing the the subtree merge operation. Tim goes on to explain how to push your changes back through the chain.</p>

<h2>Interesting</h2>

<ul>
<li><p>Some cloud environments leave the names of temp files visible even when their contents are not accessible. Be sure to use obfuscated names for your temporary files!</p></li>
<li><p>The "Headless" gem allows you to easily set up an alternate "display" that allows programs to execute in a headless environment. See this blog post about how to use Headless to run Selenium tests on a CI box: http://www.aentos.com/blog/easy-setup-your-cucumber-scenarios-using-headless-gem-run-selenium-your-ci-server</p></li>
<li><p>Ccrb will bog down to painfully slow levels if more than a couple of CC Tray clients are pinging it repeatedly during a build.</p></li>
<li><p>Cron will not honor your .rvmrc file unless you do some work to set up the environment. If you set up your cron job like this:</p></li>
</ul>

<pre>0 6 * * * /bin/bash -l -c 'echo /home/someuser/.rvm/bin/rvm rvmrc trust ... &#38;&#38; cd ... </pre>

<p>the -l &#38; -c parameters cause bash to load your environment as if your were logging in before running the specified commands. Someone also mentioned that rvm-shell can be used as a solution to this problem.</p> <a href="http://pivotallabs.com/standup-12-17-2010-comparing-indexed-date-columns-git-subtrees-headless-selenium-for-ci/">Continue reading <span class="meta-nav">&#8594;</span></a></p><p>The post <a href="http://pivotallabs.com/standup-12-17-2010-comparing-indexed-date-columns-git-subtrees-headless-selenium-for-ci/">Standup 12/17/2010 Comparing indexed date columns, git subtrees, Headless Selenium for CI</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></description>
				<content:encoded><![CDATA[<h2>Helps</h2>
<blockquote>
<p><em>Is there a way to get MySql indexing to speed up queries involving greater and less than operators on date columns?</em></p>
</blockquote>
<p>Postgres handles these operators a little bit better than MySql, but may not actually solve this problem.</p>
<p>Using millis instead of dates would give the DB the best chance of handling this scenario.</p>
<blockquote>
<p><em>We are using Git&#8217;s subtree merge facility instead of submodules to stay synced to a different repository for part of our project. How do we push changes back to that repo?</em></p>
</blockquote>
<p>See Tim Connor&#8217;s blog post &#8220;<a href="http://posterous.timocracy.com/git-sub-tree-merging-back-to-the-subtree-for">Git sub-tree merging back to the subtree for pushing to an upstream</a>&#8220;. Early in that post is a pointer to an article describing the the subtree merge operation. Tim goes on to explain how to push your changes back through the chain.</p>
<h2>Interesting</h2>
<ul>
<li>
<p>Some cloud environments leave the names of temp files visible even when their contents are not accessible. Be sure to use obfuscated names for your temporary files!</p>
</li>
<li>
<p>The &#8220;Headless&#8221; gem allows you to easily set up an alternate &#8220;display&#8221; that allows programs to execute in a headless environment. See this blog post about how to use Headless to run Selenium tests on a CI box: http://www.aentos.com/blog/easy-setup-your-cucumber-scenarios-using-headless-gem-run-selenium-your-ci-server</p>
</li>
<li>
<p>Ccrb will bog down to painfully slow levels if more than a couple of CC Tray clients are pinging it repeatedly during a build.</p>
</li>
<li>
<p>Cron will not honor your .rvmrc file unless you do some work to set up the environment. If you set up your cron job like this:</p>
</li>
</ul>
<pre>0 6 * * * /bin/bash -l -c 'echo /home/someuser/.rvm/bin/rvm rvmrc trust ... &amp;&amp; cd ... </pre>
<p>the -l &amp; -c parameters cause bash to load your environment as if your were logging in before running the specified commands. Someone also mentioned that rvm-shell can be used as a solution to this problem.</p>
<p>The post <a href="http://pivotallabs.com/standup-12-17-2010-comparing-indexed-date-columns-git-subtrees-headless-selenium-for-ci/">Standup 12/17/2010 Comparing indexed date columns, git subtrees, Headless Selenium for CI</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://pivotallabs.com/standup-12-17-2010-comparing-indexed-date-columns-git-subtrees-headless-selenium-for-ci/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Standup 12/15/2010: :Include&#8230; everything</title>
		<link>http://pivotallabs.com/standup-12-15-2010-include-everything/</link>
		<comments>http://pivotallabs.com/standup-12-15-2010-include-everything/#comments</comments>
		<pubDate>Wed, 15 Dec 2010 15:09:00 +0000</pubDate>
		<dc:creator>Phil Goodwin</dc:creator>
				<category><![CDATA[Standup]]></category>
		<category><![CDATA[agile]]></category>

		<guid isPermaLink="false">http://pivotallabs.com/standup-12-15-2010-include-everything/</guid>
		<description><![CDATA[<p><h2>Interesting</h2>

<ul>
<li>Problem: Select includes "*" by default, so selecting by specific column names does not work</li>
</ul>

<p>If you write:</p>

<pre><code>class Thing &#60; ActiveRecord::Base
  has_many :posts
end

class Post &#60; ActiveRecord::Base
  default_scope select&#40;column_names - ['body']&#41;
end
</code></pre>

<p>Thing.includes&#40;:posts&#41;.all does the following for the posts query:</p>

<pre><code>SELECT id, fk_column_id, column1, etc, posts.*
FROM posts
WHERE &#40;pages.fk_column&#62;in IN&#40;1,2,3&#41;&#41;
</code></pre>

<p>It takes the default select scope, but also appends posts.* to the end of it.</p>

<p>This is caused by the :select find_option in the find_associated_records inside of association_preload.rb. This is what it is now:</p>

<pre><code>:select =&#62; preload_options[:select]
                &#124;&#124; options[:select]
                &#124;&#124; Arel::SqlLiteral.new&#40;"#{table_name}.*"&#41;
</code></pre>

<p>It seems like the third &#124;&#124; case is not needed, since that is the default for any select and it causes the above behavior.</p>

<p>Joseph Palermo has filed a ticket with Lighthouse about this...</p> <a href="http://pivotallabs.com/standup-12-15-2010-include-everything/">Continue reading <span class="meta-nav">&#8594;</span></a></p><p>The post <a href="http://pivotallabs.com/standup-12-15-2010-include-everything/">Standup 12/15/2010: :Include&#8230; everything</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></description>
				<content:encoded><![CDATA[<h2>Interesting</h2>
<ul>
<li>Problem: Select includes &#8220;*&#8221; by default, so selecting by specific column names does not work</li>
</ul>
<p>If you write:</p>
<pre><code>class Thing &lt; ActiveRecord::Base
  has_many :posts
end

class Post &lt; ActiveRecord::Base
  default_scope select&#40;column_names - ['body']&#41;
end
</code></pre>
<p>Thing.includes&#40;:posts&#41;.all does the following for the posts query:</p>
<pre><code>SELECT id, fk_column_id, column1, etc, posts.*
FROM posts
WHERE &#40;pages.fk_column&gt;in IN&#40;1,2,3&#41;&#41;
</code></pre>
<p>It takes the default select scope, but also appends posts.* to the end of it.</p>
<p>This is caused by the :select find_option in the find_associated_records inside of association_preload.rb. This is what it is now:</p>
<pre><code>:select =&gt; preload_options[:select]
                || options[:select]
                || Arel::SqlLiteral.new&#40;"#{table_name}.*"&#41;
</code></pre>
<p>It seems like the third || case is not needed, since that is the default for any select and it causes the above behavior.</p>
<p>Joseph Palermo has filed a ticket with Lighthouse about this&#8230;</p>
<p>The post <a href="http://pivotallabs.com/standup-12-15-2010-include-everything/">Standup 12/15/2010: :Include&#8230; everything</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://pivotallabs.com/standup-12-15-2010-include-everything/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/

Minified using disk: basic (Feed is rejected)
Page Caching using apc
Database Caching 2/9 queries in 0.019 seconds using apc
Object Caching 1166/1267 objects using apc

 Served from: pivotallabs.com @ 2013-05-21 16:55:17 by W3 Total Cache -->