You are on page 1of 3

Rails TakeFive: Five Questions with Fabio Akita 8/1/08 11:14 AM

FiveRuns Blog Search...

On Rails production performance and monitoring


Subscribe
SUBSCRIBE (ALL SECTIONS)
PO S T S 3 comments Rails TakeFive Tips

Rails TakeFive: Five Questions with Fabio Akita


Published on April 04, 2008 by dean FiveRuns tagged photos on Flickr.

Welcome to the latest in the FiveRuns Rails TakeFive interview series.


This week we’re happy to be joined by Fabio Akita, a noted Ruby on
Rails developer, speaker, author, and Brazilian Rails team lead for
Surgeworks LLC.

FiveRuns: Welcome, Fabio. To get started, what is the coolest and/or


most innovative Rails project that you have seen in recent memory?

Fabio Akita: Github, by far. There are so many great projects done in See more FiveRuns tagged photos…
Rails that it’s difficult to pick just one, but I think Github has the
potential to bring the best of the Ruby platform: its community.
Unfortunately, the Github code is privately held, but it is mostly Previous Entries
written in Rails, with some Merb and other technologies. It leverages Rails TakeFive: Five Questions with Fabio Akita
on the powerful Git set of tools to bring the first ‘social networking for coders’.

I would love to see the Rails Core moving to Github or any other Git based platform because it makes Other Categories
our lives so much easier. That way we can easily fork, create our own branches of change, and still stay Entries are also organized under the following general
up to date with the master repository. Github makes this process even cleaner and easier. Git stands for topic categories.
SCM the way Rails stands for agile web development.
Rails
Updated answer: on April, 1st, FiveRuns kindly invited me to participate in an interview, which I Events
promptly answered in the same day. I responded exactly as you can read in the above paragraph. But TakeFive
given the big news on the day after (!) I want to reiterate that I am very happy to see what I have desired Community
actually happened so soon! Congratulations for the Rails Core Team for their swift move and I do think Partners
this will ensure the future development pace of Rails. So, yet again, I think many will concur that Github Open Source
is hot. Tips
People
FiveRuns: Let’s talk about Merb – their official language is all about being agnostic—ORM-agnostic, Announcements
JavaScript library agnostic, and template language agnostic – what does this mean? And what does it Miscellaneous
mean to be “thread-safe”? Is there promise in implementing Merb alongside of Rails, say, for
processing?

Fabio Akita: Yes and no. Ezra is a clever guy, no one should ignore what he says. For one, he has the
experience of running a real hosting center, Engine Yard. This knowledge alone should speak for itself,
specifically given Engine Yard’s remarkable reputation. Another thing that some people probably
misunderstand: Ezra is not a Highlander. I do not think he believes that Merb should replace Rails.
“There should be only one …”, not.

That said, I haven’t tried Merb just yet. I see a lot of value in actions that do not require the full Rails
stack. The original use for Merb was as an uploader handler, something that Rails did poorly (and was
fixed by Zed’s clever approach to Mongrel handling File uploads).

There are several places that Rails is lagging behind Merb. For example, its support for Rack. But given
the current state of the MRI, I don’t think thread-safety is that important right now. I mean, both MRI
1.8 and YARV 1.9 have contention problems. For instance, YARV uses native threads but it has that big
GIL that prevents it from running threads in parallel for real. This makes thread-safe less important in
the Ruby world. So, thread-safe frameworks, by themselves, don’t leverage too much performance just
because of that. Right now Merb is faster than Rails. But that’s because it loads much less libraries than
Rails. You can customize it in a way that only the exact pieces that you need will be in memory at

http://blog.fiveruns.com/2008/4/4/rails-application-monitoring-takefive-five-questions-with-fabio-akita Page 1 of 4
Rails TakeFive: Five Questions with Fabio Akita 8/1/08 11:14 AM

Rails. You can customize it in a way that only the exact pieces that you need will be in memory at
runtime. Rails projects assume loading everything.

But its higher coupling and overhead comes with additional benefits: a Rails developer can easily switch
between Rails projects and know where to look. Flexible frameworks allow us higher customizations at
the cost of maintainability. I am not saying that Merb is not maintainable. So far, I think it is doing a
good job keeping itself balanced between enough power and enough ease of use. Rails has superior
ease of use at the cost of more overhead and less customizations. It’s a choice that we can make. I
would just remember that Java frameworks always prioritized customization over ease of use, and that’s
why Rails became so famous so fast. Too much customization would mean going back to the problem.

Finally, yes, I do believe in using Merb and Rails alongside one another. Github, along with many other
Web sites, do the same. If both use ActiveRecord for ORM, they can even share the same models at
some level. And there are other promising frameworks as Sinatra, Ramaze, Nitro and others that are
also very good, each with their own strengths and weaknesses. Competition is a good thing to have.

FiveRuns: What is the best Ruby and/or Rails book that you have read recently?

Fabio Akita: My all time favorite is The Ruby Way. Hal Fulton did a tremendous job with this book and it
was the one that taught me the many Rubyisms and, as the title says, the Ruby way of doing
programming. I recommend it before any other.

FiveRuns: Amazon + Rails seems to be a prevalent choice right now, especially looking way back to the
first instance we can recall, unspun.amazon.com in 2006, and seeing how far we have come. Can you
talk a little bit about the benefits and challenges here? For example, best practices around
programmatic access and the Ruby/Amazon language library? What about S3 on Rails and bucket
issues?

Fabio Akita: The startup doing more aggressive solutions on Amazon technology is probably Heroku
right now. Cloud computing seems to be the new buzz. So, everything in the cloud, as a service, seems
to be the new way of doing business. Dynamic scaling, infinite resources and storage, shorter offline
times. Amazon is definitely leading the way with EC3, S3 and now SimpleDB. Though, deploying Web
apps over EC2 is a challenge because of its dynamic nature: a slice is not guaranteed to stay there
permanently, it goes down. People have to scratch their heads hard in order to come up with a good
architecture for this new model.

There is a lot of room for improvement here, there are not enough teams developing easy to use
solutions and I think this is a growing market with a lot of potential. Solutions like Heroku’s are
promising. I wouldn’t recommend a novice Rails programmer to look at Amazon’s solutions just yet.
The tools are still not there for them. We need higher abstractions around these services for them to
become really mainstream.

FiveRuns: Dr. Wayne Kelly of Ruby.Net recently conceded that IronRuby was more likely to succeed than
Ruby.Net, and he’s now pulled back on the project. Will IronRuby succeed as a production quality
implementation of Ruby on the .NET platform? Is DLR here to stay?

Fabio Akita: Yes, I think so. John Lam is another amazing engineer and he was able to do great stuff
over at Microsoft. It is even more difficult for him, given the tighter leash of Microsoft policies in
comparison to what Charles has over at Sun. But he made the right decision of using the DLR up front.
The DLR was originally made to be a general layer for any dynamic language to run over the CLR, but its
original design assumed that every dynamic language would resemble Python. John helped the DLR
improve and evolve a lot, and it is much better because of that.

IronRuby is still way behind JRuby but it has the potential of filling another big gap: Ruby has little
support over at Windows land. I don’t think IronRuby will be primarily used as an MRI replacement in
Windows, but it has the potential of leveraging Ruby technology into the .NET stack which is good for
future programmers that one day decide to switch over to Linux/Mac development and find a familiar
platform to program with. Of course, you gain .NET interoperability for free which is equally important.
But I don’t see as many C# programmers migrating to Ruby as there are Java developers doing so.
That’s because of the nature of the business C# technology is on. Innovation and elegance are not their
top priorities. That said, yes, thanks to IronRuby the improved DLR is here to stay.

Fabio Akita is a former senior Java/SAP consultant and PMI project manager who published the first Rails
book in Portuguese for the Brazilian audience, Repensando a Web com Rails, back in 2006. He’s been
helping improve the growth of the Brazilian Ruby and Rails community through local events, keynotes,
learning material, and his blog. He is working full time with Rails as an offshore outsourced programmer

http://blog.fiveruns.com/2008/4/4/rails-application-monitoring-takefive-five-questions-with-fabio-akita Page 2 of 4
Rails TakeFive: Five Questions with Fabio Akita 8/1/08 11:14 AM

learning material, and his blog. He is working full time with Rails as an offshore outsourced programmer
for Surgeworks LLC, a Utah based consulting firm, since mid-2007.

Permalink

Continued Discussion
3 responses to this entry

Fabio has posted his thoughts on many more of our questions that didn’t make this list on his blog.

Enjoy!

Dean Cruse said:


on April 04, 2008 at 12:29 PM

As a Brazilian myself I would like to compliment FiveRuns for keeping an open eye on our
community.

Lucas Húngaro said:


on April 04, 2008 at 12:38 PM

Awesome questions. I really enjoy it.

Attin said:
on April 12, 2008 at 04:21 AM

Contribute
Continue the conversation and share your thoughts. A name is required. Your e-mail address
will not be displayed on the site. Textile formatting may be used in your comments (but will not be
rendered in the live comment preview).

! Posted by You on August 01, 2008 at 11:17 AM

Your name:

Your e-mail address:

Website:

Your Comments:

http://blog.fiveruns.com/2008/4/4/rails-application-monitoring-takefive-five-questions-with-fabio-akita Page 3 of 4

You might also like