<?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; Glenn Jahnke</title>
	<atom:link href="http://pivotallabs.com/author/glennj/feed/" rel="self" type="application/rss+xml" />
	<link>http://pivotallabs.com</link>
	<description>Agility Developed</description>
	<lastBuildDate>Sun, 26 May 2013 03:43:37 +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>7/13/2012 &#8211; Happy Friday</title>
		<link>http://pivotallabs.com/7-13-2012-happy-friday/</link>
		<comments>http://pivotallabs.com/7-13-2012-happy-friday/#comments</comments>
		<pubDate>Fri, 13 Jul 2012 16:33:00 +0000</pubDate>
		<dc:creator>Glenn Jahnke</dc:creator>
				<category><![CDATA[Labs]]></category>
		<category><![CDATA[rails]]></category>

		<guid isPermaLink="false">http://pivotallabs.com/7-13-2012-happy-friday/</guid>
		<description><![CDATA[<p><h2>Helps</h2>

<ul>
<li>Heroku Maintenance Mode Fail</li>
</ul>

<p>Does anyone know why maintenance mode doesn't seem to work? Is there any way to check from the command line that we are in maintenance mode?</p>

<p>-- &#40;Ken&#41; This is how I test it on heroku_san: https://github.com/fastestforward/heroku_san/blob/master/features/step_definitions/remote_steps.rb#L130</p>

<ul>
<li>Sending Faxes from Rails</li>
</ul>

<p>Anyone had to send a fax from Ruby/Rails?  Any good SaaS you used to do it?</p>

<ul>
<li>carrierwave custom processing is called twice</li>
</ul>

<p>Dumb workaround:</p>

<p>def intelligent_crop
    crop_to = model.crop_to
    # crop_to = [left_x, top_y, width, height]</p>

<pre><code>manipulate! do &#124;img&#124;
  # guard against the second time intelligent_crop is called
  if &#40;img.columns != crop_to[2] &#124;&#124; img.rows != crop_to[3]&#41;
    img.crop!&#40;*model.crop_to&#41;
  end

  img
end
</code></pre>

<p>end</p>

<p>version :cropped_preview do
    process :intelligent_crop
  end</p>

<p>No one seems to have heard of this particular bug, unfortunately.</p>

<ul>
<li>acts_as_soft_delete</li>
</ul>

<p>What is the best soft-delete gem to help you not actually delete records?</p>

<p>acts_as_soft_delete_by_field was recommended, however rolling your own is probably also a very reasonable idea: this is pretty closely tied to your business logic.</p>

<h2>Interestings</h2>

<ul>
<li>validate_presence_of does not work with booleans</li>
</ul>

<p>...because it fails if the boolean is set to false. Use </p>

<p>validates_inclusion_of :boolean_field, in: [true, false], allow_nil: false</p>

<p>instead.</p> <a href="http://pivotallabs.com/7-13-2012-happy-friday/">Continue reading <span class="meta-nav">&#8594;</span></a></p><p>The post <a href="http://pivotallabs.com/7-13-2012-happy-friday/">7/13/2012 &#8211; Happy Friday</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></description>
				<content:encoded><![CDATA[<h2>Helps</h2>
<ul>
<li>Heroku Maintenance Mode Fail</li>
</ul>
<p>Does anyone know why maintenance mode doesn&#8217;t seem to work? Is there any way to check from the command line that we are in maintenance mode?</p>
<p>&#8211; &#40;Ken&#41; This is how I test it on heroku_san: https://github.com/fastestforward/heroku_san/blob/master/features/step_definitions/remote_steps.rb#L130</p>
<ul>
<li>Sending Faxes from Rails</li>
</ul>
<p>Anyone had to send a fax from Ruby/Rails?  Any good SaaS you used to do it?</p>
<ul>
<li>carrierwave custom processing is called twice</li>
</ul>
<p>Dumb workaround:</p>
<p>def intelligent_crop<br />
    crop_to = model.crop_to<br />
    # crop_to = [left_x, top_y, width, height]</p>
<pre><code>manipulate! do |img|
  # guard against the second time intelligent_crop is called
  if &#40;img.columns != crop_to[2] || img.rows != crop_to[3]&#41;
    img.crop!&#40;*model.crop_to&#41;
  end

  img
end
</code></pre>
<p>end</p>
<p>version :cropped_preview do<br />
    process :intelligent_crop<br />
  end</p>
<p>No one seems to have heard of this particular bug, unfortunately.</p>
<ul>
<li>acts_as_soft_delete</li>
</ul>
<p>What is the best soft-delete gem to help you not actually delete records?</p>
<p>acts_as_soft_delete_by_field was recommended, however rolling your own is probably also a very reasonable idea: this is pretty closely tied to your business logic.</p>
<h2>Interestings</h2>
<ul>
<li>validate_presence_of does not work with booleans</li>
</ul>
<p>&#8230;because it fails if the boolean is set to false. Use </p>
<p>validates_inclusion_of :boolean_field, in: [true, false], allow_nil: false</p>
<p>instead.</p>
<p>The post <a href="http://pivotallabs.com/7-13-2012-happy-friday/">7/13/2012 &#8211; Happy Friday</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://pivotallabs.com/7-13-2012-happy-friday/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iOS Acceptance and Ruby Keywords</title>
		<link>http://pivotallabs.com/ios-acceptance-and-ruby-keywords/</link>
		<comments>http://pivotallabs.com/ios-acceptance-and-ruby-keywords/#comments</comments>
		<pubDate>Wed, 11 Jul 2012 23:29:00 +0000</pubDate>
		<dc:creator>Glenn Jahnke</dc:creator>
				<category><![CDATA[Labs]]></category>
		<category><![CDATA[ios]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://pivotallabs.com/ios-acceptance-and-ruby-keywords/</guid>
		<description><![CDATA[<p><h2>Helps</h2>

<ul>
<li>acceptance testing for iOS: Frank? </li>
</ul>

<p>We'd like to do happy path end-end testing for an iOS project. What's the state of the art?</p>

<p>We saw frank: https://github.com/moredip/Frank</p>

<h2>Interestings</h2>

<ul>
<li>then is a keyword in ruby</li>
</ul>

<p>If you want your ruby to read like bash:</p>

<pre><code>if true then
  puts "For Sure"
end
</code></pre> <a href="http://pivotallabs.com/ios-acceptance-and-ruby-keywords/">Continue reading <span class="meta-nav">&#8594;</span></a></p><p>The post <a href="http://pivotallabs.com/ios-acceptance-and-ruby-keywords/">iOS Acceptance and Ruby Keywords</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></description>
				<content:encoded><![CDATA[<h2>Helps</h2>
<ul>
<li>acceptance testing for iOS: Frank? </li>
</ul>
<p>We&#8217;d like to do happy path end-end testing for an iOS project. What&#8217;s the state of the art?</p>
<p>We saw frank: https://github.com/moredip/Frank</p>
<h2>Interestings</h2>
<ul>
<li>then is a keyword in ruby</li>
</ul>
<p>If you want your ruby to read like bash:</p>
<pre><code>if true then
  puts "For Sure"
end
</code></pre>
<p>The post <a href="http://pivotallabs.com/ios-acceptance-and-ruby-keywords/">iOS Acceptance and Ruby Keywords</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://pivotallabs.com/ios-acceptance-and-ruby-keywords/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Standup 1/9/2012</title>
		<link>http://pivotallabs.com/standup-1-9-2012/</link>
		<comments>http://pivotallabs.com/standup-1-9-2012/#comments</comments>
		<pubDate>Mon, 09 Jan 2012 17:48:00 +0000</pubDate>
		<dc:creator>Glenn Jahnke</dc:creator>
				<category><![CDATA[Labs]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jenkins]]></category>
		<category><![CDATA[rails]]></category>

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

<h2>CCMenu + Hudson w/o Basic Auth</h2>

<p>"Has anyone figured out how to use CCMenu with Hudson and not have Basic Auth?"</p>

<p>Hudson has its own authorization mechanism, unlike Basic Auth, so it can't be used with nice desktop tools like CCMenu which shows the red/green square in your system tray.</p>

<p>Consider using <a href="http://jenkins-ci.org/">Jenkins</a>.</p>

<h2>Using Symlinks with Dropbox</h2>

<p>Using the Linux Dropbox client seems to allow symlinks to be uploaded, but they will not behave as expect anywhere else. Someone was trying to have a "latest" folder point to the latest versioned folder.</p>

<p>The recommendation was just to have two copies of the files as a workaround.</p>

<h1>Interestings</h1>

<h2>Rails Bridge Outreach for Women Workshop has space</h2>

<p>Looking to learn Rails? There's a great meetup to get you up and running. As of this writing there is still space available. <a href="http://www.sfruby.info/events/47101182/?eventId=47101182&#38;action=detail&#38;rv=rv18&#38;rv=rv18">Come check the event out</a>.</p>

<h2>Yammer Javascript Meetup on Tuesday</h2>

<p>Yammer will be hosting a <a href="http://yammerdrinkup.eventbrite.com/">Javascript meetup</a>, expect the usual snacks and beer, and good talks about our favorite client-side language.</p> <a href="http://pivotallabs.com/standup-1-9-2012/">Continue reading <span class="meta-nav">&#8594;</span></a></p><p>The post <a href="http://pivotallabs.com/standup-1-9-2012/">Standup 1/9/2012</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></description>
				<content:encoded><![CDATA[<h1>Helps</h1>
<h2>CCMenu + Hudson w/o Basic Auth</h2>
<p>&#8220;Has anyone figured out how to use CCMenu with Hudson and not have Basic Auth?&#8221;</p>
<p>Hudson has its own authorization mechanism, unlike Basic Auth, so it can&#8217;t be used with nice desktop tools like CCMenu which shows the red/green square in your system tray.</p>
<p>Consider using <a href="http://jenkins-ci.org/">Jenkins</a>.</p>
<h2>Using Symlinks with Dropbox</h2>
<p>Using the Linux Dropbox client seems to allow symlinks to be uploaded, but they will not behave as expect anywhere else. Someone was trying to have a &#8220;latest&#8221; folder point to the latest versioned folder.</p>
<p>The recommendation was just to have two copies of the files as a workaround.</p>
<h1>Interestings</h1>
<h2>Rails Bridge Outreach for Women Workshop has space</h2>
<p>Looking to learn Rails? There&#8217;s a great meetup to get you up and running. As of this writing there is still space available. <a href="http://www.sfruby.info/events/47101182/?eventId=47101182&amp;action=detail&amp;rv=rv18&amp;rv=rv18">Come check the event out</a>.</p>
<h2>Yammer Javascript Meetup on Tuesday</h2>
<p>Yammer will be hosting a <a href="http://yammerdrinkup.eventbrite.com/">Javascript meetup</a>, expect the usual snacks and beer, and good talks about our favorite client-side language.</p>
<p>The post <a href="http://pivotallabs.com/standup-1-9-2012/">Standup 1/9/2012</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://pivotallabs.com/standup-1-9-2012/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Standup 1/5/2012 &#8211; The Death of SOAP</title>
		<link>http://pivotallabs.com/standup-1-5-2012-the-death-of-soap/</link>
		<comments>http://pivotallabs.com/standup-1-5-2012-the-death-of-soap/#comments</comments>
		<pubDate>Thu, 05 Jan 2012 17:17:00 +0000</pubDate>
		<dc:creator>Glenn Jahnke</dc:creator>
				<category><![CDATA[Labs]]></category>
		<category><![CDATA[ruby]]></category>

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

<h2>Soap4R and Ruby 1.9.2</h2>

<p>"Soap4R and Ruby 1.9.2 don't work, what's the best alternative?"</p>

<p>Several people recommended the <a href="https://github.com/rubiii/savon">Savon gem</a>. It was strongly suggested to not try and replicate any of the Soap protocol because it is pretty painful to implement.</p>

<h1>Interestings</h1>

<h2>Constants versus Immutable Objects</h2>

<p>Someone apparently had confusion around what it means to be constant in Ruby, and what it means to be immutable.</p>

<p>A constant prevents modifications to references to variables.</p>

<pre><code>SOME_CONST = 3
SOME_CONST = 4
warning: already initialized constant SOME_CONST
</code></pre>

<p>Immutability means that the variables themselves cannot be modified.</p>

<pre><code>an_array = [1,2,3]
an_array.freeze
an_array[3] = 4
RuntimeError: can't modify frozen array
</code></pre>

<p>You should note, though, that freezing an object only makes the variables that object contains immutable. For instance,</p>

<pre><code>an_array = [1,2,3,{}]
an_array.freeze
an_array[3]["foo"] = "bar"
</code></pre>

<p>will not throw any errors or warnings.</p> <a href="http://pivotallabs.com/standup-1-5-2012-the-death-of-soap/">Continue reading <span class="meta-nav">&#8594;</span></a></p><p>The post <a href="http://pivotallabs.com/standup-1-5-2012-the-death-of-soap/">Standup 1/5/2012 &#8211; The Death of SOAP</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></description>
				<content:encoded><![CDATA[<h1>Helps</h1>
<h2>Soap4R and Ruby 1.9.2</h2>
<p>&#8220;Soap4R and Ruby 1.9.2 don&#8217;t work, what&#8217;s the best alternative?&#8221;</p>
<p>Several people recommended the <a href="https://github.com/rubiii/savon">Savon gem</a>. It was strongly suggested to not try and replicate any of the Soap protocol because it is pretty painful to implement.</p>
<h1>Interestings</h1>
<h2>Constants versus Immutable Objects</h2>
<p>Someone apparently had confusion around what it means to be constant in Ruby, and what it means to be immutable.</p>
<p>A constant prevents modifications to references to variables.</p>
<pre><code>SOME_CONST = 3
SOME_CONST = 4
warning: already initialized constant SOME_CONST
</code></pre>
<p>Immutability means that the variables themselves cannot be modified.</p>
<pre><code>an_array = [1,2,3]
an_array.freeze
an_array[3] = 4
RuntimeError: can't modify frozen array
</code></pre>
<p>You should note, though, that freezing an object only makes the variables that object contains immutable. For instance,</p>
<pre><code>an_array = [1,2,3,{}]
an_array.freeze
an_array[3]["foo"] = "bar"
</code></pre>
<p>will not throw any errors or warnings.</p>
<p>The post <a href="http://pivotallabs.com/standup-1-5-2012-the-death-of-soap/">Standup 1/5/2012 &#8211; The Death of SOAP</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://pivotallabs.com/standup-1-5-2012-the-death-of-soap/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Standup 11/18/2011</title>
		<link>http://pivotallabs.com/standup-11-18-2011/</link>
		<comments>http://pivotallabs.com/standup-11-18-2011/#comments</comments>
		<pubDate>Fri, 18 Nov 2011 17:31:00 +0000</pubDate>
		<dc:creator>Glenn Jahnke</dc:creator>
				<category><![CDATA[Labs]]></category>

		<guid isPermaLink="false">http://pivotallabs.com/standup-11-18-2011/</guid>
		<description><![CDATA[<p><h1>Helps</h1>

<h2>Selenium Firefox Version</h2>

<p>"What's the canonical version of Firefox to use with Selenium"</p>

<p>Firefox 3.6 is recommended.</p>

<h2>Compiling Ruby 1.8.7 on Lion</h2>

<p>"I'm having trouble compiling Ruby 1.8.7 on Lion."</p>

<p>Turns out there specifying the version of GCC to use fixed the problem.</p>

<blockquote>
    <p>CC=4.2 rvm install ruby-1.8.7</p>
</blockquote>

<h2>File Upload Plugin for jQuery</h2>

<p>"What are the recommended jQuery plugins to do file uploading?"</p>

<p>There is a <a href="https://github.com/blueimp/jQuery-File-Upload">jQuery plugin by blueimp</a> that is supposed to be customizable and backward-compatible for most browsers &#40;even IE6!&#41;.</p>

<p>Also, <a href="http://valums.com/ajax-upload/">Ajax Upload</a> is supposed to be a reasonable alternative.</p>

<h1>Interestings</h1>

<h2>Memorial Service for Ilya</h2>

<p>Ilya Zhitomirskiy's <a href="http://blog.diasporafoundation.org/2011/11/16/ilya-zhitormirskiy-1989-2011.html">memorial service</a> will be held today. Everyone is welcome to come from 5pm to 8pm</p>

<p><a href="http://maps.google.com/maps?q=McAvoy+O'Hara,+4545+Geary+Blvd.+San+Francisco,+CA+94118&#38;hl=en&#38;sll=39.952406,-75.176198&#38;sspn=0.007172,0.013937&#38;vpsrc=0&#38;hq=McAvoy+O'Hara,&#38;hnear=4545+Geary+Blvd,+San+Francisco,+California+94118&#38;t=m&#38;z=17&#38;iwloc=A">McAvoy O’Hara</a>
4545 Geary Blvd
San Francisco, CA 94118</p>

<h2>Javascript Strangeness</h2>

<p>Oh Javascript, you prankster.</p>

<blockquote>
    <p>typeof&#40;NaN&#41; => "number"</p>
</blockquote> <a href="http://pivotallabs.com/standup-11-18-2011/">Continue reading <span class="meta-nav">&#8594;</span></a></p><p>The post <a href="http://pivotallabs.com/standup-11-18-2011/">Standup 11/18/2011</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></description>
				<content:encoded><![CDATA[<h1>Helps</h1>
<h2>Selenium Firefox Version</h2>
<p>&#8220;What&#8217;s the canonical version of Firefox to use with Selenium&#8221;</p>
<p>Firefox 3.6 is recommended.</p>
<h2>Compiling Ruby 1.8.7 on Lion</h2>
<p>&#8220;I&#8217;m having trouble compiling Ruby 1.8.7 on Lion.&#8221;</p>
<p>Turns out there specifying the version of GCC to use fixed the problem.</p>
<blockquote>
<p>CC=4.2 rvm install ruby-1.8.7</p>
</blockquote>
<h2>File Upload Plugin for jQuery</h2>
<p>&#8220;What are the recommended jQuery plugins to do file uploading?&#8221;</p>
<p>There is a <a href="https://github.com/blueimp/jQuery-File-Upload">jQuery plugin by blueimp</a> that is supposed to be customizable and backward-compatible for most browsers &#40;even IE6!&#41;.</p>
<p>Also, <a href="http://valums.com/ajax-upload/">Ajax Upload</a> is supposed to be a reasonable alternative.</p>
<h1>Interestings</h1>
<h2>Memorial Service for Ilya</h2>
<p>Ilya Zhitomirskiy&#8217;s <a href="http://blog.diasporafoundation.org/2011/11/16/ilya-zhitormirskiy-1989-2011.html">memorial service</a> will be held today. Everyone is welcome to come from 5pm to 8pm</p>
<p><a href="http://maps.google.com/maps?q=McAvoy+O'Hara,+4545+Geary+Blvd.+San+Francisco,+CA+94118&amp;hl=en&amp;sll=39.952406,-75.176198&amp;sspn=0.007172,0.013937&amp;vpsrc=0&amp;hq=McAvoy+O'Hara,&amp;hnear=4545+Geary+Blvd,+San+Francisco,+California+94118&amp;t=m&amp;z=17&amp;iwloc=A">McAvoy O’Hara</a><br />
4545 Geary Blvd<br />
San Francisco, CA 94118</p>
<h2>Javascript Strangeness</h2>
<p>Oh Javascript, you prankster.</p>
<blockquote>
<p>typeof&#40;NaN&#41; => &#8220;number&#8221;</p>
</blockquote>
<p>The post <a href="http://pivotallabs.com/standup-11-18-2011/">Standup 11/18/2011</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://pivotallabs.com/standup-11-18-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Standup 11/17/2011 &#8211; Cloudy Cloud</title>
		<link>http://pivotallabs.com/standup-11-17-2011-cloudy-cloud/</link>
		<comments>http://pivotallabs.com/standup-11-17-2011-cloudy-cloud/#comments</comments>
		<pubDate>Thu, 17 Nov 2011 17:37:00 +0000</pubDate>
		<dc:creator>Glenn Jahnke</dc:creator>
				<category><![CDATA[Labs]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[tdd]]></category>

		<guid isPermaLink="false">http://pivotallabs.com/standup-11-17-2011-cloudy-cloud/</guid>
		<description><![CDATA[<p><h1>Interestings</h1>

<h2>Travis CI: Javascript Testing in the Cloud</h2>

<p>Jasmine gem test suites are now being run on Travis CI which is an open, distributed build system for the open source community.</p>

<p>Check out <a href="http://travis-ci.org/">Travis CI</a>.</p>

<h2>Fix Git Author</h2>

<p>As Pivots move to different machines frequently when we pair switch, its often a problem that we forget to switch the author when we commit to Git. Here's how you can fix the author of a commit &#40;before you've pushed to remote&#41;.</p>

<ol>
<li>change your git author</li>
<li>git commit --amend --reset-author -C HEAD</li>
</ol>

<p>This changes the author of commit to whomever is configured in the git config, and uses the same message you previously used &#40;the -C HEAD part&#41;.</p>

<h2>TDDium Cloud Test Runner</h2>

<p><a href="https://www.tddium.com/">TDDium</a> is an easy-to-use, secure, hosted testing environment that takes the tedium out of building high quality Ruby web applications using Test Driven Development and Continuous Integration.</p> <a href="http://pivotallabs.com/standup-11-17-2011-cloudy-cloud/">Continue reading <span class="meta-nav">&#8594;</span></a></p><p>The post <a href="http://pivotallabs.com/standup-11-17-2011-cloudy-cloud/">Standup 11/17/2011 &#8211; Cloudy Cloud</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></description>
				<content:encoded><![CDATA[<h1>Interestings</h1>
<h2>Travis CI: Javascript Testing in the Cloud</h2>
<p>Jasmine gem test suites are now being run on Travis CI which is an open, distributed build system for the open source community.</p>
<p>Check out <a href="http://travis-ci.org/">Travis CI</a>.</p>
<h2>Fix Git Author</h2>
<p>As Pivots move to different machines frequently when we pair switch, its often a problem that we forget to switch the author when we commit to Git. Here&#8217;s how you can fix the author of a commit &#40;before you&#8217;ve pushed to remote&#41;.</p>
<ol>
<li>change your git author</li>
<li>git commit &#8211;amend &#8211;reset-author -C HEAD</li>
</ol>
<p>This changes the author of commit to whomever is configured in the git config, and uses the same message you previously used &#40;the -C HEAD part&#41;.</p>
<h2>TDDium Cloud Test Runner</h2>
<p><a href="https://www.tddium.com/">TDDium</a> is an easy-to-use, secure, hosted testing environment that takes the tedium out of building high quality Ruby web applications using Test Driven Development and Continuous Integration.</p>
<p>The post <a href="http://pivotallabs.com/standup-11-17-2011-cloudy-cloud/">Standup 11/17/2011 &#8211; Cloudy Cloud</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://pivotallabs.com/standup-11-17-2011-cloudy-cloud/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Standup 11/16/2011 &#8211; Blamo things</title>
		<link>http://pivotallabs.com/standup-11-16-2011-blamo-things/</link>
		<comments>http://pivotallabs.com/standup-11-16-2011-blamo-things/#comments</comments>
		<pubDate>Wed, 16 Nov 2011 17:16:00 +0000</pubDate>
		<dc:creator>Glenn Jahnke</dc:creator>
				<category><![CDATA[Labs]]></category>

		<guid isPermaLink="false">http://pivotallabs.com/standup-11-16-2011-blamo-things/</guid>
		<description><![CDATA[<p><h1>Helps</h1>

<h2>Rails Shopping Carts</h2>

<p>"Can anyone recommend a good Rails shopping cart?"</p>

<p>Spree was mentioned as reasonable suitable, but it does not support multiple merchants.</p>

<h1>Interestings</h1>

<h2>Modernizer &#60; 2.0 hates IE7</h2>

<p>A Pivot was experiencing Modernizer at versions less than 2.0 throwing insecure content exceptions because of version detection code that it was using. Upgrading to version higher than 2.0 or removing Modernizer solved the problem.</p>

<h2>Resque and New Relic outstanding but</h2>

<p>There is a bug when using RPM contrib in New Relic while also using Resque that causes Resque workers to die. Definitely something to watch out for.</p> <a href="http://pivotallabs.com/standup-11-16-2011-blamo-things/">Continue reading <span class="meta-nav">&#8594;</span></a></p><p>The post <a href="http://pivotallabs.com/standup-11-16-2011-blamo-things/">Standup 11/16/2011 &#8211; Blamo things</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></description>
				<content:encoded><![CDATA[<h1>Helps</h1>
<h2>Rails Shopping Carts</h2>
<p>&#8220;Can anyone recommend a good Rails shopping cart?&#8221;</p>
<p>Spree was mentioned as reasonable suitable, but it does not support multiple merchants.</p>
<h1>Interestings</h1>
<h2>Modernizer &lt; 2.0 hates IE7</h2>
<p>A Pivot was experiencing Modernizer at versions less than 2.0 throwing insecure content exceptions because of version detection code that it was using. Upgrading to version higher than 2.0 or removing Modernizer solved the problem.</p>
<h2>Resque and New Relic outstanding but</h2>
<p>There is a bug when using RPM contrib in New Relic while also using Resque that causes Resque workers to die. Definitely something to watch out for.</p>
<p>The post <a href="http://pivotallabs.com/standup-11-16-2011-blamo-things/">Standup 11/16/2011 &#8211; Blamo things</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://pivotallabs.com/standup-11-16-2011-blamo-things/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Polyglot Factorial</title>
		<link>http://pivotallabs.com/polyglot-factorial/</link>
		<comments>http://pivotallabs.com/polyglot-factorial/#comments</comments>
		<pubDate>Wed, 16 Nov 2011 05:35:00 +0000</pubDate>
		<dc:creator>Glenn Jahnke</dc:creator>
				<category><![CDATA[Labs]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[scala]]></category>

		<guid isPermaLink="false">http://pivotallabs.com/polyglot-factorial/</guid>
		<description><![CDATA[<p><p>Someone on Hacker News mentioned the number of orderings of a deck of cards. I took up the challenge in some of my favorite and not so favorite languages, I'll let you guess :&#41;.</p>

<h2>Ruby</h2>

<blockquote>
    <p>ruby-1.9.2-p180> &#40;1..52&#41;.inject{&#124;a,b&#124;a*b}
    =>
    80658175170943878571660636856403766975289505440883277824000000000000</p>
</blockquote>

<h2>Scala</h2>

<blockquote>
    <p>scala> BigInt&#40;1&#41;.to&#40;BigInt&#40;52&#41;&#41;.toList.foldLeft&#40;BigInt&#40;1&#41;&#41;&#40;&#40;a,b&#41; => a*b&#41;
    res23: scala.math.BigInt =>
     80658175170943878571660636856403766975289505440883277824000000000000</p>
</blockquote>

<h2>Haskell</h2>

<blockquote>
    <p>Prelude> foldl1 &#40;x -> y -> x*y&#41; [1..52]
    80658175170943878571660636856403766975289505440883277824000000000000</p>
</blockquote>

<h2>CoffeeScript</h2>

<blockquote>
    <p>coffee> [1..52].reduce &#40;a,b&#41; -> a*b</p>

    <p>8.065817517094388e+67</p>
</blockquote>

<h2>Java</h2>

<blockquote>
    <p>Non-existent REPL>
    import java.math.*;
    public class Factorial {
        public static void main&#40;String[] args&#41; {
            BigInteger result = BigInteger.ONE;
            BigInteger fiftyTwo = new BigInteger&#40;"52"&#41;;
            for&#40;BigInteger i = BigInteger.ONE; i.compareTo&#40;fiftyTwo&#41; &#60;= 0; i = i.add&#40;BigInteger.ONE&#41;&#41; {
                result = result.multiply&#40;i&#41;;
            }
            System.out.println&#40;result&#41;;
        }
    }</p>

    <p>$ java Factorial
    80658175170943878571660636856403766975289505440883277824000000000000</p>
</blockquote>

<p>** I could have used the product function in most of those examples, but I wanted to play with foldL ;&#41;</p> <a href="http://pivotallabs.com/polyglot-factorial/">Continue reading <span class="meta-nav">&#8594;</span></a></p><p>The post <a href="http://pivotallabs.com/polyglot-factorial/">Polyglot Factorial</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></description>
				<content:encoded><![CDATA[<p>Someone on Hacker News mentioned the number of orderings of a deck of cards. I took up the challenge in some of my favorite and not so favorite languages, I&#8217;ll let you guess :&#41;.</p>
<h2>Ruby</h2>
<blockquote>
<p>ruby-1.9.2-p180> &#40;1..52&#41;.inject{|a,b|a*b}<br />
    =><br />
    80658175170943878571660636856403766975289505440883277824000000000000</p>
</blockquote>
<h2>Scala</h2>
<blockquote>
<p>scala> BigInt&#40;1&#41;.to&#40;BigInt&#40;52&#41;&#41;.toList.foldLeft&#40;BigInt&#40;1&#41;&#41;&#40;&#40;a,b&#41; => a*b&#41;<br />
    res23: scala.math.BigInt =><br />
     80658175170943878571660636856403766975289505440883277824000000000000</p>
</blockquote>
<h2>Haskell</h2>
<blockquote>
<p>Prelude> foldl1 &#40;x -> y -> x*y&#41; [1..52]<br />
    80658175170943878571660636856403766975289505440883277824000000000000</p>
</blockquote>
<h2>CoffeeScript</h2>
<blockquote>
<p>coffee> [1..52].reduce &#40;a,b&#41; -> a*b</p>
<p>8.065817517094388e+67</p>
</blockquote>
<h2>Java</h2>
<blockquote>
<p>Non-existent REPL><br />
    import java.math.*;<br />
    public class Factorial {<br />
        public static void main&#40;String[] args&#41; {<br />
            BigInteger result = BigInteger.ONE;<br />
            BigInteger fiftyTwo = new BigInteger&#40;&#8221;52&#8243;&#41;;<br />
            for&#40;BigInteger i = BigInteger.ONE; i.compareTo&#40;fiftyTwo&#41; &lt;= 0; i = i.add&#40;BigInteger.ONE&#41;&#41; {<br />
                result = result.multiply&#40;i&#41;;<br />
            }<br />
            System.out.println&#40;result&#41;;<br />
        }<br />
    }</p>
<p>$ java Factorial<br />
    80658175170943878571660636856403766975289505440883277824000000000000</p>
</blockquote>
<p>** I could have used the product function in most of those examples, but I wanted to play with foldL ;&#41;</p>
<p>The post <a href="http://pivotallabs.com/polyglot-factorial/">Polyglot Factorial</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://pivotallabs.com/polyglot-factorial/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Is your XML foo savvy?</title>
		<link>http://pivotallabs.com/is-your-xml-foo-savvy/</link>
		<comments>http://pivotallabs.com/is-your-xml-foo-savvy/#comments</comments>
		<pubDate>Tue, 15 Nov 2011 15:25:00 +0000</pubDate>
		<dc:creator>Glenn Jahnke</dc:creator>
				<category><![CDATA[Standup]]></category>
		<category><![CDATA[jenkins]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://pivotallabs.com/is-your-xml-foo-savvy/</guid>
		<description><![CDATA[<p><h2>Helps</h2>

<ul>
<li>"How do you change the address and port that Solr is running on?"</li>
</ul>

<p>Somewhere in the server.xml file was suggested, however that didn't seem to work. The workaround was using IP Tables.</p>

<h2>Interestings</h2>

<ul>
<li><p>as_json &#40;with options&#41; seems to always be called with an explicit nil argument from to_json under Rails 3. Some people just use as_json explicitly, or pass an explicit empty hash as the arg to get around this oddity.</p></li>
<li><p>Jenkins now supports Ruby plugins.</p></li>
<li><p>Support Movember! Pivotal has raised quite a bit of money and you can too.</p></li>
</ul> <a href="http://pivotallabs.com/is-your-xml-foo-savvy/">Continue reading <span class="meta-nav">&#8594;</span></a></p><p>The post <a href="http://pivotallabs.com/is-your-xml-foo-savvy/">Is your XML foo savvy?</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></description>
				<content:encoded><![CDATA[<h2>Helps</h2>
<ul>
<li>&#8220;How do you change the address and port that Solr is running on?&#8221;</li>
</ul>
<p>Somewhere in the server.xml file was suggested, however that didn&#8217;t seem to work. The workaround was using IP Tables.</p>
<h2>Interestings</h2>
<ul>
<li>
<p>as_json &#40;with options&#41; seems to always be called with an explicit nil argument from to_json under Rails 3. Some people just use as_json explicitly, or pass an explicit empty hash as the arg to get around this oddity.</p>
</li>
<li>
<p>Jenkins now supports Ruby plugins.</p>
</li>
<li>
<p>Support Movember! Pivotal has raised quite a bit of money and you can too.</p>
</li>
</ul>
<p>The post <a href="http://pivotallabs.com/is-your-xml-foo-savvy/">Is your XML foo savvy?</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://pivotallabs.com/is-your-xml-foo-savvy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Standup 8/31/2011 &#8211; RubyMine and Compostable Utensils!</title>
		<link>http://pivotallabs.com/standup-8-31-2011-rubymine-and-compostable-utensils/</link>
		<comments>http://pivotallabs.com/standup-8-31-2011-rubymine-and-compostable-utensils/#comments</comments>
		<pubDate>Wed, 31 Aug 2011 16:31:00 +0000</pubDate>
		<dc:creator>Glenn Jahnke</dc:creator>
				<category><![CDATA[Labs]]></category>
		<category><![CDATA[rubymine]]></category>

		<guid isPermaLink="false">http://pivotallabs.com/standup-8-31-2011-rubymine-and-compostable-utensils/</guid>
		<description><![CDATA[<p><h1>Ask for Help</h1>

<blockquote>
    <p><em>"Does anyone know about random highlighting occurring in RubyMine / IntelliJ on all OSes?"</em></p>
</blockquote>

<p>RubyMine 3.1 apparently had issues with random highlighting which were resolved simply by upgrading to at least 3.2 release.</p>

<h1>Interesting Things</h1>

<h2>Compostable Utensils</h2>

<p>The office got compostable utensils that meet San Francisco city requirements!</p> <a href="http://pivotallabs.com/standup-8-31-2011-rubymine-and-compostable-utensils/">Continue reading <span class="meta-nav">&#8594;</span></a></p><p>The post <a href="http://pivotallabs.com/standup-8-31-2011-rubymine-and-compostable-utensils/">Standup 8/31/2011 &#8211; RubyMine and Compostable Utensils!</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></description>
				<content:encoded><![CDATA[<h1>Ask for Help</h1>
<blockquote>
<p><em>&#8220;Does anyone know about random highlighting occurring in RubyMine / IntelliJ on all OSes?&#8221;</em></p>
</blockquote>
<p>RubyMine 3.1 apparently had issues with random highlighting which were resolved simply by upgrading to at least 3.2 release.</p>
<h1>Interesting Things</h1>
<h2>Compostable Utensils</h2>
<p>The office got compostable utensils that meet San Francisco city requirements!</p>
<p>The post <a href="http://pivotallabs.com/standup-8-31-2011-rubymine-and-compostable-utensils/">Standup 8/31/2011 &#8211; RubyMine and Compostable Utensils!</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://pivotallabs.com/standup-8-31-2011-rubymine-and-compostable-utensils/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 using apc
Object Caching 1146/1239 objects using apc

 Served from: pivotallabs.com @ 2013-05-25 23:19:47 by W3 Total Cache -->