Skip to main content

Rails Conf Europe 2008 - Day 2

Posted by arungupta on September 5, 2008 at 10:16 PM PDT



Rails
Conf Europe 2008
Day 1 was mostly about href="http://blogs.sun.com/arungupta/entry/rails_conf_europe_2008_end">tutorials.



On Day 2, David Black gave the opening session. After some logistics he
introduced the favorite
son of Chicago
- David Heinemeier Hansson. The theme of
DHH's session was "Legacy Software". Now that Rails is 5 years old, the
discussions of legacy is indeed meaningful. He showed some code from href="http://www.basecamphq.com/?source=37s+home">BaseCamp
and showed how refactoring can deal with legacy. I love his statement
"What you write today will become legacy". That is indeed so true
especially given the fact that Rails community is now thinking about
legacy. There is Rails 1.2.x, 2.0.x, 2.1 and 2.2 coming up - it was
bound to happen. Overall a great session and love the honesty!



In href="http://en.oreilly.com/railseurope2008/public/schedule/detail/4880">JRuby:
The Other Red Meat by Tom Enebo, the highlights were:

  • JRuby is
    "It's just Ruby". No prior knowledge of Java is
    required, at all, to run JRuby.
  • 22,000 tests and 33,000 assertions (from href="http://rubyspec.org/">Ruby Spec) all pass to
    ensure 1.8.6 compliance.
  • 75% memory improvement with upcoming Rails 2.2. The numbers
    captured from the preso for 1000 requests and 10 concurrent users are:


    cellpadding="2" cellspacing="2">
    10
    Rails instances
    Edge
    Rails
    Startup
    Memory
    200 Mb 50
    Mb
    Heap
    (at end)
    233
    Mb
    55
    Mb



    I'll explain in a detailed post later on how to generate these numbers

  • Several href="http://wiki.jruby.org/wiki/Success_Stories">JRuby
    success stories
  • FFI support in JRuby that will make converting a C-based
    plugin to pure-Ruby a breeze

In href="http://en.oreilly.com/railseurope2008/public/schedule/detail/3394">Rails
Software Metrics Roderick talked about different tools to
generate metrics for Rails applications.

  • rake stats: Provides Code to Test Ratio (0.8 to 1.6 is a
    good range)
  • flog: Tracking code complexity (available as gem, useful
    for refactoring, elaborates on complexity)
  • rcov: Tracking test coverage (analyzes line coverage,
    available as gem)
  • heckle:
    Analyzes branch coverage (available as gem, dynamically mutates your
    code - flipping a branch should cause test failire, takes very long,
    not feasible for TDD)
  • saikuro: Cyclometic complexity (Decidedly
    scientific graph theory, available as gem, highlights overly complex
    methods, useful to spot refactoring methods)
  • metrics_fu: Set of Rake
    tasks to use with CruiseControl, Runs all of the before mentioned on a
    check-in. Anybody interested in integrating that with href="http://hudson.dev.java.net">Hudson ?

The advise "A single metric is seldom useful, pair them to see what's
going on." is certainly very practical.



Fernando explained in details in his session, href="http://en.oreilly.com/railseurope2008/public/schedule/detail/4892">Achieving
High Throughput and Scalability with JRuby on Rails, on how
to tune GlassFish
for Rails applications. Look for his slides, they got real meat from a
Rails application running on production with multiple concurrent
requests.



At Five Runs
exhibit, I found about href="http://blog.fiveruns.com/2007/11/27/monitoring-jruby-on-rails-applications-with-fiveruns-rm-manage">FiveRuns
monitoring on JRuby. That means you can generate all the href="http://www.fiveruns.com/products">performance
monitoring data on GlassFish. And then there is href="http://www.nagios.org/">nagios and href="http://github.com/nicksieger/stickshift/tree/master">stickshift
for monitoring. That's a few blog posts for me later :)



Here are some of the sessions I plan to attend Day 2:

  • href="http://en.oreilly.com/railseurope2008/public/schedule/detail/5290">Announcements
    (9:00)
  • href="http://en.oreilly.com/railseurope2008/public/schedule/detail/4919">Ruby
    and Rails Symposium: Versions, Implementations, and the Future
    (9:15)
  • href="http://en.oreilly.com/railseurope2008/public/schedule/detail/3481">Developing
    Ruby and Rails applications with the NetBeans IDE (10:45)
  • href="http://en.oreilly.com/railseurope2008/public/schedule/detail/4892">Rails
    powered by GlassFish (13:40)
  • href="http://en.oreilly.com/railseurope2008/public/schedule/detail/3560">How
    Not to Build a Service (15:45)



Here are some pictures from Day 2:


cellspacing="5">
src="http://lh6.ggpht.com/arun.gupta/SL-F7gC4rMI/AAAAAAAAH4E/WkbNngqSmbQ/s288/IMG_3100.JPG">
style="width: 288px; height: 216px;" alt=""
src="http://lh4.ggpht.com/arun.gupta/SL-GGnvy8YI/AAAAAAAAH4Y/KypY2vzUqRo/s288/IMG_3107.JPG">
alt=""
src="http://lh5.ggpht.com/arun.gupta/SL-GI7fKzEI/AAAAAAAAH4g/n2byN6KXmGI/s288/IMG_3109.JPG">
alt=""
src="http://lh6.ggpht.com/arun.gupta/SL-GKqOE4EI/AAAAAAAAH4k/oZm3bg_uho8/s288/IMG_3110.JPG">



And you can see the gourmet lunch was not only beautifully decorated,
it was equally luscious:


cellspacing="5">
alt=""
src="http://lh4.ggpht.com/arun.gupta/SL-GRoZOyVI/AAAAAAAAH40/uZgCXp_9yqQ/s288/IMG_3116.JPG">
alt=""
src="http://lh4.ggpht.com/arun.gupta/SL-GTBncexI/AAAAAAAAH44/Rf80kS4ChKU/s288/IMG_3117.JPG">
style="width: 288px; height: 216px;" alt=""
src="http://lh3.ggpht.com/arun.gupta/SL-GUg-9X2I/AAAAAAAAH48/0NpmabPYuIk/s288/IMG_3118.JPG">
alt=""
src="http://lh3.ggpht.com/arun.gupta/SL-GV2RgcdI/AAAAAAAAH5A/Wq1nBuUQQfk/s288/IMG_3119.JPG">





And finally the complete photo album so far:





src="http://picasaweb.google.com/s/c/bin/slideshow.swf"
flashvars="host=picasaweb.google.com&RGB=0x000000&feed=http%3A%2F%2Fpicasaweb.google.com%2Fdata%2Ffeed%2Fapi%2Fuser%2Farun.gupta%2Falbumid%2F5241299458008603953%3Fkind%3Dphoto%26alt%3Drss"
pluginspage="http://www.macromedia.com/go/getflashplayer"
height="192" width="288">



Stay tuned for Day 3 blog!



Technorati: conf
railsconf
berlin
rubyonrails

Related Topics >>