Nick Sieger: Project Kenai at JavaOnetag:blog.nicksieger.com,2005:TypoTypo2010-11-22T20:34:53+00:00Odchudzanie Poznanurn:uuid:492df852-6bdd-45e9-8701-07f3aca44fbb2009-06-23T08:55:15+00:002010-11-22T20:34:53+00:00Comment on Project Kenai at JavaOne by Odchudzanie Poznan<p>I’m really greatful that you posted your slides. Too many people post stuff like “oh yeah I did that presentation. People loved it” but when asked for some materials or video they never post it.</p>Nickurn:uuid:b6453298-8ff0-48b7-ade3-b8d0ca8f59172009-06-09T13:12:01+00:002010-11-22T20:34:52+00:00Comment on Project Kenai at JavaOne by Nick<p>JRuby-Rack and Warbler, deploying to GlassFish v2.</p>Christian Seilerurn:uuid:ec48b53e-964e-4a96-a4f1-ccc1f22561f82009-06-09T12:28:09+00:002010-11-22T20:34:52+00:00Comment on Project Kenai at JavaOne by Christian Seiler<p>Are you using JRuby-Rack or the Glasfish gem?</p>Nick Siegerurn:uuid:9a1f22f6-e5db-4cf7-a49d-79c06dbb4bf22009-06-09T02:23:36+00:002010-11-22T18:37:29+00:00Project Kenai at JavaOne<p>It’s just the beginning and a small milestone, but it’s a goal we set for ourselves by JavaOne last week that we reached: 10K registered users at <a href="http://kenai.com/">http://kenai.com/</a>. We were fortunate to be highlighted in the Tuesday afternoon keynote, which, to our collective relief, <a href="http://blogs.zdnet.com/BTL/?p=19181">went off without a hitch</a>. I also had a chance to speak a bit about Project Kenai behind the scenes in my technical session.</p>
<p><a href="/TS5413_09J1_SiegerLessons.pdf">My slides are available</a> and contain a decent overview of what we’ve been doing. One slide in particular seems to have <a href="http://twitter.com/olabini/status/2027466455">surprised</a> some folks: our codebase metrics.</p>
<ul>
<li>12K lines of application code (everything in <code>app/{controllers,models,helpers}</code>)</li>
<li>10K lines of views (HTML + template code in <code>app/views</code>) </li>
<li>1K lines of custom Javascript (<code>public/javascripts</code> excluding jQuery and plugins)</li>
<li>8K lines of test code (RSpec + plain text stories) (yes, we’re upgrading to <a href="http://cukes.info">Cucumber</a>)</li>
<li>73.7% test coverage</li>
</ul>
<p>If you’re doing Rails, you’re probably not all that surprised by these numbers; hopefully you’ve seen similar ones yourself. If you haven’t tried Rails, consider a site like kenai.com and ask yourself if you could build and maintain a production site like it with these numbers in your favorite language/framework.</p>
<p>Other takeaways from my talk:</p>
<ul>
<li>Use Java what it’s good for; in this case, long-running server apps. The downtime of the JRuby/GlassFish-deployed Rails application has been minimal for us; the few cases where we’ve had issues, they’ve usually been self-inflicted application problems. Instead of running Monit with a pack of Mongrels that need to be periodically recycled, we run a few GlassFish domains per server and only recycle them when we deploy new code.</li>
<li>For the Java programmers out there, don’t be afraid to use stuff other than Java. We use Python, Django, Memcached, Perl, and anything that gets the job done.</li>
<li>You can build cool stuff quickly with community Rails plugins like <a href="http://github.com/technoweenie/attachment_fu/tree/master">attachment_fu</a>, <a href="http://geokit.rubyforge.org/">geokit</a>, and <a href="http://wiki.github.com/mislav/will_paginate">will_paginate</a>. Not news to Rails programmers, but I’d be interested to hear of any equivalents for Java-based web frameworks.</li>
<li><a href="http://www.jruby.org/">JRuby</a> is a big win, allowing co-development on MRI and JRuby with deployment to GlassFish. JRuby’s java integration also allows for neat tricks like <a href="http://kenai.com/projects/image-voodoo">image_voodoo</a>, a pure-Java imaging plugin for attachment_fu.</li>
</ul>