<?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; Fiona Tay</title>
	<atom:link href="http://pivotallabs.com/author/ftay/feed/" rel="self" type="application/rss+xml" />
	<link>http://pivotallabs.com</link>
	<description>Agility Developed</description>
	<lastBuildDate>Tue, 18 Jun 2013 03:38:22 +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>Los Angeles Ruby Conference</title>
		<link>http://pivotallabs.com/larubyconf13/</link>
		<comments>http://pivotallabs.com/larubyconf13/#comments</comments>
		<pubDate>Thu, 07 Mar 2013 15:00:35 +0000</pubDate>
		<dc:creator>Fiona Tay</dc:creator>
				<category><![CDATA[Labs]]></category>

		<guid isPermaLink="false">http://pivotallabs.com/?p=15692</guid>
		<description><![CDATA[<p>Last weekend, I flew down to Santa Ana to represent Pivotal Labs at the Los Angeles Ruby Conference. I used to live in SoCal &#8211; I went to school in the Inland Empire &#8211; so I’m really excited about Pivotal becoming a part of the Los Angeles Ruby community. Pivotal is setting up an office in Santa Monica and are looking for our first client there. If you’re interested in working with Pivotal, you can email Ross Hale, our LA director at ross@pivotallabs.com. Getting ready for LA ruby conf! Cc @moonmaster9000 @msfionatay @robb1e @dipolesource @thecodeword twitter.com/rrrosss/status… &#8212; Ross Hale (@rrrosss) February 23, 2013 This year, the program committee did a great job putting together two days of workshops and the one-day conference. (see full schedule at the website) I’m proud to say that two talks by Pivots were accepted, including my own, Why JRuby?. For the past six months, I’ve&#8230;</p><p>The post <a href="http://pivotallabs.com/larubyconf13/">Los Angeles Ruby Conference</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></description>
				<content:encoded><![CDATA[<p>Last weekend, I flew down to Santa Ana to represent Pivotal Labs at the <a href="http://larubyconf.com">Los Angeles Ruby Conference</a>. I used to live in SoCal &#8211; I went to school in the Inland Empire &#8211; so I’m really excited about Pivotal becoming a part of the Los Angeles Ruby community.</p>
<p>Pivotal is setting up an office in Santa Monica and are looking for our first client there. If you’re interested in working with Pivotal, you can email Ross Hale, our LA director at <a href="mailto:ross@pivotallabs.com">ross@pivotallabs.com</a>.</p>
<blockquote class="twitter-tweet"><p>Getting ready for LA ruby conf! Cc @<a href="https://twitter.com/moonmaster9000">moonmaster9000</a> @<a href="https://twitter.com/msfionatay">msfionatay</a> @<a href="https://twitter.com/robb1e">robb1e</a> @<a href="https://twitter.com/dipolesource">dipolesource</a> @<a href="https://twitter.com/thecodeword">thecodeword</a> <a href="http://t.co/q7zZDb6vwU" title="http://twitter.com/rrrosss/status/305359489530470401/photo/1">twitter.com/rrrosss/status…</a></p>
<p>&mdash; Ross Hale (@rrrosss) <a href="https://twitter.com/rrrosss/status/305359489530470401">February 23, 2013</a></p></blockquote>
<p><script async src="//platform.twitter.com/widgets.js?48a6bc" charset="utf-8"></script></p>
<p>This year, the program committee did a great job putting together two days of workshops and the one-day conference. (see full schedule at <a href="http://larubyconf.com/schedule">the website</a>)</p>
<p>I’m proud to say that two talks by Pivots were accepted, including my own, <a href="http://larubyconf.com/proposals/80">Why JRuby?</a>. For the past six months, I’ve been working on Greenplum Chorus, an open source platform for data analysis. We chose to use JRuby because many of the Big Data tools were written in Java, and JRuby supports integration with Java libraries really well. JRuby is a great choice for integrating with Java and for scaling and performance, and I think more people should consider it. You can view my slides at <a href="http://www.slideshare.net/FionaTay2/why-jruby-16743985">SlideShare</a>.</p>
<p>Matt Parker and Robbie Clutton gave a talk on <a href="http://larubyconf.com/proposals/74">Sustainable Behavior-Driven Development</a>, right after me. BDD is a personal topic of interest for me, since I think BDD can provide a lot of business value, but it&#8217;s so hard to get right. Matt and Robbie have been strong advocates for BDD within Pivotal, and their talk draws on Pivotal&#8217;s experience with BDD to diagnose common problems and offer solutions. And, in true pair fashion, Matt and Robbie co-did the talk (pun intended). Their slides are online at <a href="https://speakerdeck.com/robb1e/sustainable-bdd">Speakerdeck</a>.</p>
<blockquote class="twitter-tweet"><p>Yes &#8220;@<a href="https://twitter.com/jimweirich">jimweirich</a>: Really liking the message @<a href="https://twitter.com/robb1e">robb1e</a> and Matt Parker are giving in their &#8220;Sustainable BDD&#8221; talk.&#8221;</p>
<p>— Corey Haines (@coreyhaines) <a href="https://twitter.com/coreyhaines/status/305471788828225537">February 24, 2013</a></p></blockquote>
<p>The talk videos will be up at <a href="http://confreaks.com/events/larubyconf2013">Confreaks</a> within the week.</p>
<p>The post <a href="http://pivotallabs.com/larubyconf13/">Los Angeles Ruby Conference</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://pivotallabs.com/larubyconf13/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Upgrading to JRuby 1.7.0</title>
		<link>http://pivotallabs.com/upgrading-to-jruby-1-7-0/</link>
		<comments>http://pivotallabs.com/upgrading-to-jruby-1-7-0/#comments</comments>
		<pubDate>Tue, 20 Nov 2012 16:10:00 +0000</pubDate>
		<dc:creator>Fiona Tay</dc:creator>
				<category><![CDATA[Labs]]></category>

		<guid isPermaLink="false">http://pivotallabs.com/upgrading-to-jruby-1-7-0/</guid>
		<description><![CDATA[<p><h2>Why Upgrade?</h2>

<p>Two weeks ago, <a href="http://jruby.org/2012/10/22/jruby-1-7-0">JRuby 1.7.0 was officially released.</a> Here are a few reasons why you might want to upgrade: </p>

<ul>
<li><p>Bug fixes </p>

<p>JRuby 1.7.0 fixes many compatibility issues with ruby 1.9. Also, JRuby 1.6.8 is no longer being maintained so fixes from 1.7.0 are not getting backported.</p></li>
<li><p>Support for invokedynamic</p>

<p>JRuby 1.7.0 supports the invokedynamic instruction, a new feature in Java 7 which allows the compiler to use duck typing. This means dynamic languages on the JVM will be compiled to faster code.</p></li>
<li><p>Kernel#exec</p>

<p>JRuby 1.7.0’s exec function is now a true system exec that replaces the current process, while previously it spawned a new process and waited until the process exited. </p></li>
</ul>

<h2>Overview</h2>

<p>I just upgraded my project from 1.6.8 to 1.7.0. It was fairly easy - I took about a day to upgrade our project. </p>

<ol>
<li>Install JRuby 1.7.0</li>
<li>Bundle</li>
<li>Tweak</li>
<li>Profit!</li>
</ol>

<h2>Detailed How-To</h2>

<ol>
<li><p>Install jruby-1.7-0.
It's as simple as:</p>

<pre><code>$ rbenv install jruby-1.7.0
</code></pre>

<p>If ruby-build complains that definition not found, you'll need to upgrade ruby-build.</p>

<p>Note that if you're using ruby 1.8.7, you'll need to install that separately since JRuby 1.7.0 by default uses ruby 1.9.3.</p>

<p>Drop the new version into your project .rbenv-version file.</p></li>
<li><p>Bundle</p>

<pre><code>$ bundle
</code></pre>

<p>Some gems may fail to install because JRuby 1.7.0 by default doesn't enable C extensions since they are deprecating this feature. You can turn it back on with the command line option <code>-Xcext.enabled=true</code> - add this to your .rbenv-vars file.</p></li>
<li><p>Tweak</p>

<pre><code>$ rake spec
</code></pre>

<p>If you're lucky, everything will pass and you can skip straight to step 4.</p>

<p>Otherwise, here’s a list of the changes I made to port our project over. This is by no means an exhaustive list, so please feel free to comment below.</p>

<ul>
<li><p>An interesting change in JRuby 1.7.0 is that Java exceptions no longer inherit from ruby Exception. This means that they will not be caught by a standard global rescue. I.e., executing the code below will print 'Rescued' under 1.6.8 but will blow up under 1.7.0.</p>

<pre><code>begin
    java.lang.Integer.parse_int&#40;"asdf"&#41;
rescue
    puts "Rescued"
end
</code></pre></li>
</ul>

<p>If you're doing a global rescue from Java code, you'll need to change your code to specifically catch a Java exception class or explicitly rescue Exception &#40;at your own risk&#41;.</p>

<ul>
<li>Another change is the behavior of Kernel#exec, which unexpectedly broke one of our dependencies with an unhelpful error message <code>Error: Unable to access jarfile start.jar</code>. In our case, the fix was to change the <code>Kernel#exec</code> call to <code>Kernel#system</code> instead.</li>
</ul></li>
<li><p>Profit!</p>

<p>Once we finished tweaking it, our application loaded and behaved normally. </p></li>
</ol>

<h2>Further Notes</h2>

<p>You may want to experiment with enabling invokedynamic. <a href="https://github.com/jruby/jruby/wiki/PerformanceTuning">It’s turned off by default because some versions of the JDK 7.0 are not fully compatible.</a> To enable it, add <code>-Xcompile.invokedynamic=true</code> into your .rbenv-vars file. </p>

<p>Unfortunately, on my project, we’re sticking with Java 6 due to our dependencies, so no invokedynamic for us - but let me know how that works out if you try it.</p> <a href="http://pivotallabs.com/upgrading-to-jruby-1-7-0/">Continue reading <span class="meta-nav">&#8594;</span></a></p><p>The post <a href="http://pivotallabs.com/upgrading-to-jruby-1-7-0/">Upgrading to JRuby 1.7.0</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></description>
				<content:encoded><![CDATA[<h2>Why Upgrade?</h2>
<p>Two weeks ago, <a href="http://jruby.org/2012/10/22/jruby-1-7-0">JRuby 1.7.0 was officially released.</a> Here are a few reasons why you might want to upgrade: </p>
<ul>
<li>
<p>Bug fixes </p>
<p>JRuby 1.7.0 fixes many compatibility issues with ruby 1.9. Also, JRuby 1.6.8 is no longer being maintained so fixes from 1.7.0 are not getting backported.</p>
</li>
<li>
<p>Support for invokedynamic</p>
<p>JRuby 1.7.0 supports the invokedynamic instruction, a new feature in Java 7 which allows the compiler to use duck typing. This means dynamic languages on the JVM will be compiled to faster code.</p>
</li>
<li>
<p>Kernel#exec</p>
<p>JRuby 1.7.0’s exec function is now a true system exec that replaces the current process, while previously it spawned a new process and waited until the process exited. </p>
</li>
</ul>
<h2>Overview</h2>
<p>I just upgraded my project from 1.6.8 to 1.7.0. It was fairly easy &#8211; I took about a day to upgrade our project. </p>
<ol>
<li>Install JRuby 1.7.0</li>
<li>Bundle</li>
<li>Tweak</li>
<li>Profit!</li>
</ol>
<h2>Detailed How-To</h2>
<ol>
<li>
<p>Install jruby-1.7-0.<br />
It&#8217;s as simple as:</p>
<pre><code>$ rbenv install jruby-1.7.0
</code></pre>
<p>If ruby-build complains that definition not found, you&#8217;ll need to upgrade ruby-build.</p>
<p>Note that if you&#8217;re using ruby 1.8.7, you&#8217;ll need to install that separately since JRuby 1.7.0 by default uses ruby 1.9.3.</p>
<p>Drop the new version into your project .rbenv-version file.</p>
</li>
<li>
<p>Bundle</p>
<pre><code>$ bundle
</code></pre>
<p>Some gems may fail to install because JRuby 1.7.0 by default doesn&#8217;t enable C extensions since they are deprecating this feature. You can turn it back on with the command line option <code>-Xcext.enabled=true</code> &#8211; add this to your .rbenv-vars file.</p>
</li>
<li>
<p>Tweak</p>
<pre><code>$ rake spec
</code></pre>
<p>If you&#8217;re lucky, everything will pass and you can skip straight to step 4.</p>
<p>Otherwise, here’s a list of the changes I made to port our project over. This is by no means an exhaustive list, so please feel free to comment below.</p>
<ul>
<li>
<p>An interesting change in JRuby 1.7.0 is that Java exceptions no longer inherit from ruby Exception. This means that they will not be caught by a standard global rescue. I.e., executing the code below will print &#8216;Rescued&#8217; under 1.6.8 but will blow up under 1.7.0.</p>
<pre><code>begin
    java.lang.Integer.parse_int&#40;"asdf"&#41;
rescue
    puts "Rescued"
end
</code></pre>
</li>
</ul>
<p>If you&#8217;re doing a global rescue from Java code, you&#8217;ll need to change your code to specifically catch a Java exception class or explicitly rescue Exception &#40;at your own risk&#41;.</p>
<ul>
<li>Another change is the behavior of Kernel#exec, which unexpectedly broke one of our dependencies with an unhelpful error message <code>Error: Unable to access jarfile start.jar</code>. In our case, the fix was to change the <code>Kernel#exec</code> call to <code>Kernel#system</code> instead.</li>
</ul>
</li>
<li>
<p>Profit!</p>
<p>Once we finished tweaking it, our application loaded and behaved normally. </p>
</li>
</ol>
<h2>Further Notes</h2>
<p>You may want to experiment with enabling invokedynamic. <a href="https://github.com/jruby/jruby/wiki/PerformanceTuning">It’s turned off by default because some versions of the JDK 7.0 are not fully compatible.</a> To enable it, add <code>-Xcompile.invokedynamic=true</code> into your .rbenv-vars file. </p>
<p>Unfortunately, on my project, we’re sticking with Java 6 due to our dependencies, so no invokedynamic for us &#8211; but let me know how that works out if you try it.</p>
<p>The post <a href="http://pivotallabs.com/upgrading-to-jruby-1-7-0/">Upgrading to JRuby 1.7.0</a> appeared first on <a href="http://pivotallabs.com">Pivotal Labs</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://pivotallabs.com/upgrading-to-jruby-1-7-0/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 469/495 objects using apc

 Served from: pivotallabs.com @ 2013-06-18 01:32:40 by W3 Total Cache -->