<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="/stylesheets/rss.css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>full fathom five: Tag java</title>
    <link>http://www.michaelstudman.com/fullfathomfive/articles/tag/java?tag=java</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description>the blog of Michael Studman</description>
    <item>
      <title>Cenqua: here I come</title>
      <description>&lt;p&gt;The rumours are true, come the new year I&amp;#8217;ll be starting with &lt;a href="http://www.cenqua.com"&gt;Cenqua&lt;/a&gt; - the creators of &lt;a href="http://www.cenqua.com/fisheye"&gt;Fisheye&lt;/a&gt;, &lt;a href="http://www.cenqua.com/clover"&gt;Clover&lt;/a&gt; &amp;amp; &lt;a href="http://www.cenqua.com/crucible"&gt;Crucible&lt;/a&gt;. I&amp;#8217;ll be working remotely for them from my little corner of north London or to put it another way, I&amp;#8217;ll be their premier UK employee. ;) My task will be to design, develop and support new and existing software development tools you will actually use.&lt;/p&gt;

&lt;p&gt;This move has been a long time in the making - I first interviewed with them (a beer in hand, if I recall) back in the middle of the dot-com crash when they were transitioning from a service company to a product company. Unfortunately, like many, they&amp;#8217;d just laid off staff and weren&amp;#8217;t in a position to take me on. More recently this year I did some work for them but found my 9-5 racket was proving too exhausting to deliver anything substantial or on-time. Now the timing seems right for me to come on board full time.&lt;/p&gt;

&lt;p&gt;You gotta love a company that calls its head office the &amp;#8220;Central Command&amp;#8221; and describes my role as &amp;#8220;Senior Software Engineer / Architect / Code Poet&amp;#8221;.&lt;/p&gt;

&lt;p&gt;Matt, Conor, Brendan and Pete - thanks for giving me the chance to work on some great products! I can&amp;#8217;t wait!&lt;/p&gt;</description>
      <pubDate>Wed, 13 Dec 2006 20:29:59 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:dcb4ce4a-c397-4752-aa79-d6ed4b12d1eb</guid>
      <author>Michael Studman</author>
      <link>http://www.michaelstudman.com/fullfathomfive/articles/2006/12/13/cenqua-here-i-come</link>
      <category>java</category>
      <category>development</category>
      <category>employment</category>
      <category>2007</category>
      <category>cenqua</category>
    </item>
    <item>
      <title>RSpec on JRuby - an interview</title>
      <description>&lt;p&gt;Last month &lt;a href="http://hedius.blogspot.com"&gt;Charles Nutter&lt;/a&gt;, &lt;a href="http://blog.aslakhellesoy.com/"&gt;Aslak Hellesoy&lt;/a&gt; and myself were all interviewed by &lt;a href="http://on-ruby.blogspot.com/"&gt;Pat Eyler&lt;/a&gt; on getting &lt;a href="http://rspec.rubyforge.org"&gt;RSpec&lt;/a&gt; framework working on &lt;a href="http://jruby.codehaus.org"&gt;JRuby&lt;/a&gt;. This was quite a milestone for the project and Pat thought it deserved a bit of publicity. It also came at a time when my current employer issued the &amp;#8220;thou shalt only use Java&amp;#8221; edict so you might detect a bit of emotion in some of my responses.&lt;/p&gt;

&lt;p&gt;The &lt;a href="http://www.infoq.com/news/2006/11/RSpecOnJRuby"&gt;version&lt;/a&gt; that made it onto &lt;a href="http://www.infoq.com"&gt;InfoQ&lt;/a&gt; provides some nice soundbites and the &lt;a href="http://on-ruby.blogspot.com/2006/12/jruby-and-rspec-leftovers.html"&gt;full interview&lt;/a&gt; is well worth the read. Enjoy!&lt;/p&gt;</description>
      <pubDate>Tue, 12 Dec 2006 19:50:00 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:fba04ce8-db05-450a-9e6d-7b36961d71af</guid>
      <author>Michael Studman</author>
      <link>http://www.michaelstudman.com/fullfathomfive/articles/2006/12/12/rspec-on-jruby-an-interview</link>
      <category>jruby</category>
      <category>rspec</category>
      <category>java</category>
      <category>ruby</category>
    </item>
    <item>
      <title>JRuby 0.9.2 out - get it while it's hot!</title>
      <description>&lt;p&gt;The JRuby trio have just released version 0.9.2 of everyone&amp;#8217;s** favourite scripting language for the JVM.&lt;/p&gt;

&lt;p&gt;New and notable in this release:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Extensions openssl and readline now working&lt;/li&gt;
&lt;li&gt;Code for a new graphical irb console&lt;/li&gt;
&lt;li&gt;Partial support for iconv and bigdecimal extensions&lt;/li&gt;
&lt;li&gt;RSpec now supported&lt;/li&gt;
&lt;li&gt;Improved Rails support&lt;/li&gt;
&lt;li&gt;Fixed all known block and scoping bugs&lt;/li&gt;
&lt;li&gt;Enhanced parser performance&lt;/li&gt;
&lt;li&gt;More compiler and performance work&lt;/li&gt;
&lt;li&gt;Refactored variable scoping logic&lt;/li&gt;
&lt;li&gt;127 Jira issues resolved since 0.9.1&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;My modest contribution to this release included:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Getting RSpec supported&lt;/li&gt;
&lt;li&gt;Implementing the Enumerable::Enumerator class and associated Kernel methods&lt;/li&gt;
&lt;li&gt;Fixing the Java::clazz.naming.Binding syntax implementation to properly work&lt;/li&gt;
&lt;li&gt;Fixes for visibility issues with some Kernel methods&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So go and download it now! What are you waiting for?&lt;/p&gt;

&lt;p&gt;** Favourite to all but those nice Groovy folk, oh and those BSH and Javascript/Rhino wierdos&lt;/p&gt;</description>
      <pubDate>Tue, 12 Dec 2006 19:27:03 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:d57675fc-7ac9-4cff-b8c7-b74aaef854aa</guid>
      <author>Michael Studman</author>
      <link>http://www.michaelstudman.com/fullfathomfive/articles/2006/12/12/jruby-0-9-2-out-get-it-while-its-hot</link>
      <category>java</category>
      <category>ruby</category>
      <category>jruby</category>
    </item>
    <item>
      <title>Handling Java exceptions in JRuby</title>
      <description>&lt;p&gt;At my enterprisey day job I&amp;#8217;m finding the JRuby platform to be the perfect glue for bringing together a (sadly necessary) slew of Java libraries and middleware (3rd-party Ant tasks, Jakarta VFS, ServiceMix, Maven, Weblogic) to solve a complex problem crucial to our enterprise. Stellar support for exception handling is obviously important when integrating so many libraries and middleware so how well does JRuby help with this? Is it just a Java fair-weather friend?&lt;/p&gt;</description>
      <pubDate>Tue, 26 Sep 2006 19:54:00 -0400</pubDate>
      <guid isPermaLink="false">urn:uuid:403e6fc2-23bd-4c13-b8b0-505d6d85363d</guid>
      <author>Michael Studman</author>
      <link>http://www.michaelstudman.com/fullfathomfive/articles/2006/09/26/handling-java-exceptions-in-jruby</link>
      <category>Java</category>
      <category>JRuby</category>
      <category>java</category>
      <category>jruby</category>
      <category>development</category>
      <category>ruby</category>
      <category>scripting</category>
    </item>
    <item>
      <title>Java snippet: Debugging a Java library used from Ant</title>
      <description>&lt;p&gt;I recently needed to debug a library which seemed to be misbehaving when used within Ant. After a bit of research here&amp;#8217;s the best way I found to debug within Ant that doesn&amp;#8217;t require sprinkling your bin/ant or bin\ant.bat with temporary JPDA pixy dust.&lt;/p&gt;

&lt;p&gt;Ant doesn&amp;#8217;t directly accept the -X arguments needed to set up the JPDA settings so the question is: how do you pass these from a shell or command line? In this, the ANT_OPTS environment variable is your friend. Its contents will be directly passed to the Java process Ant calls.&lt;/p&gt;

&lt;p&gt;So here&amp;#8217;s how you do it:&lt;/p&gt;

&lt;p&gt;Step 1: Set ANT_OPTS to the debug options appropriate for your JVM:&lt;/p&gt;

&lt;div class="typocode"&gt;&lt;pre&gt;&lt;code class="typocode_default "&gt;for Java 1.4:

&amp;gt;&amp;gt; export ANT_OPTS=-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8453

for Java 1.5:

&amp;gt;&amp;gt; export ANT_OPTS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=8453
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Step 2: Run ant like normal:&lt;/p&gt;

&lt;div class="typocode"&gt;&lt;pre&gt;&lt;code class="typocode_default "&gt;  
&amp;gt;&amp;gt; ant
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Step 3: Set your breakpoints.&lt;/p&gt;

&lt;p&gt;Step 4: Now attach your debugger.&lt;/p&gt;

&lt;p&gt;There might be better ways to do this but this was the least invasive route for me.&lt;/p&gt;</description>
      <pubDate>Fri, 01 Sep 2006 09:05:02 -0400</pubDate>
      <guid isPermaLink="false">urn:uuid:6963d35f-f1ad-4f81-8f2e-3bd966c39dd5</guid>
      <author>Michael Studman</author>
      <link>http://www.michaelstudman.com/fullfathomfive/articles/2006/09/01/java-snippet-debugging-a-java-library-used-from-ant</link>
      <category>Java</category>
      <category>Development</category>
      <category>java</category>
      <category>ant</category>
      <category>development</category>
      <category>snippet</category>
    </item>
  </channel>
</rss>
