Vancouver Ruby & Rails Central

One Stop Source For Ruby & Rails News, Events & Jobs In & Around Vancouver

Vancouver.rb Q&A with Brock Whitten on Rails, Getting Off Rails (Merb), PmpknPi (Blog in Merb) and More (Part I)

Posted by Gerald on March 10, 2008

Welcome back to the Vancouver.rb Q&A series. Today let’s welcome Vancouverite Brock Whitten.

Rails is awesome. I try my very best not to say things like Merb is “better” than Rails but it is. Let’s keep in mind that part of the reason it’s great is because it is a lot like Rails and Merb was able to learn from the mistakes Rails learned the hard way. The most obvious advantage that Merb has is for writing APIs. If you were to build an API with Rails you are loading this entire (kitchen sink) framework for something very simple. Think alone of all those view helpers you won’t be using yet they are being loaded for every instance of Mongrel. This is like driving a motor home to the cornerstone to buy milk. Merb on the other hand is broken into chunks (merb-core, merb-more, plugins) so you only load what you need. This makes Merb multiple times faster than Rails.

Q: Can you tell us a little bit about yourself? How did you get started with Ruby on Rails? What makes Ruby on Rails a great choice for developing web applications/sites?

Brock Whitten: By day I’m a Rails Developer for the Vancouver animation studio, Bardel Entertainment(seen Viva Pinata?). My job there is focused on building tools that help our animators build cartoons better and faster. By night, If I’m not sharing a pint or watching a film with one of my chums, I am at home working on one of my many side projects (almost all Merb related).

Actually I fell in love with Ruby on Rails while studying PHP at BCIT. As soon as I graduated, I bought every Ruby book I could get my hands on and have not looked back. I’m very happy as a Ruby/Rails developer.

Rails is a great way to build web apps because it allows you to focus your efforts on creativity rather than mundane tasks. It saddens me to see how many people have lost touch with this point.

Q: Can you tell us some challenges you’ve faced developing using Ruby on Rails?

Brock Whitten: I was still fairly novice programmer when I got onto Rails, and Rails itself was still young and working out its kinks. This was frustrating for me at times because I could see the framework was in need of plugins, documentation bloggers and speakers but I was not mature enough as a developer to contribute on this level. Ironic enough, now that I am capable, Rails is solid and the community is thriving.

I have benefited greatly from the Ruby community and thus have always felt a debt to it. I have been waiting for the right opportunity to give back and Merb has opened that door. Currently Merb has many of the same needs as Rails did a couple of years ago and I will be contributing as much as I can to this community.

Q: Off the Rails - Can you tell us a little bit about Merb? How did you get started? Any insight on how Merb compares with Rails and how it’s better or worse?

Brock Whitten: Rails has received a lot of criticism lately, mostly regarding speed and scalability. I think this is because people are using Rails for things they shouldn’t. Can you blame them? Rails is awesome. I try my very best not to say things like Merb is “better” than Rails but it is. Let’s keep in mind that part of the reason it’s great is because it is a lot like Rails and Merb was able to learn from the mistakes Rails learned the hard way. The transition to Merb is very natural, Rails developers should have much of a problem. The most obvious advantage that Merb has is for writing APIs. If you were to build an API with Rails you are loading this entire (kitchen sink) framework for something very simple. Think alone of all those view helpers you won’t be using yet they are being loaded for every instance of Mongrel. This is like driving a motor home to the cornerstone to buy milk. Merb on the other hand is broken into chunks (merb-core, merb-more, plugins) so you only load what you need. This makes Merb multiple times faster than Rails. The trade off is polish, Rails has really evolved into a solid system. Expect some craziness with Merb, for a while at least.

Q: What’s PmpknPi? Tell us more about PmpknPi? What are your future plans?

Brock Whitten: For the right people PmpknPi is going to be a godsend. It is a very lean, fast, RESTful API for blogging (caching optional kind of fast). This is a blog engine for Ruby developers, not for your clients. The system assumes you are competent. It is very straight forward and is easy to modify. It intentionally does not have a user model or tempting, or a plugin system. Simply edit the settings.yml file and away you go. Comments have a voting mechanism (digg/reddit style) that does not require your users registering which I think should be standard on all blogs. Oh and did I mention the JavaScript is completely unobtrusive and degradable. I just tagged the 0.1 release. Give it a go and don’t be afraid to fork the git repo at GitHub or Gitorious. Who knows? perhaps I’ll pull some of your changes.

Future plans are to add asset uploading with thumbnailing and a tagging system (that’s 4 models total!). That’s it. I plan to always keep it very basic. I’m hoping people will customize it to their liking and then write a tutorial on how to apply those changes such as adding your twitter feeds or adding multiple users using the merbful_authentication plugin.

It should also be noted that PmpknPi will be used for merbman.com which is days away from launch. I will mostly be me writing about my experiences with writing Pmpknpi and talking about Merb.

Thanks Brock Whitten. Check back later this week for the second part in the interview discussing “What’s Git?” and pros or cons versus subversion plus some comments on (free) Git hosting services and more about the upcoming “Off the Rails” talk at Open Web Vancouver 2008 and more.

2 Responses to “Vancouver.rb Q&A with Brock Whitten on Rails, Getting Off Rails (Merb), PmpknPi (Blog in Merb) and More (Part I)”

  1. Nathan Youngman Says:

    Nifty, I will have to give PmpknPi a try sometime. Thanks Brock, for this and the RubyCampVancouver talk.

  2. Brock Says:

    Thanks Nathan, Im open for feedback and/or questions regarding PmpknPi.

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>