Merb news nov-16-2008


I’ll try to keep the community posted on the latest merb news. Feel free to email me if you want me to feature your app, plugin, tool or blog post.

Quality time with Matz

The day after Ruby Conf, Yehuda Katz and myself (Matt Aimonetti) were hanging out in the lobby of the hotel. Obie, Rein, Desi, and others were hacking away/chilling. Matz was also there networking before taking off for the airport.

wycats, matz, mattetti

wycats, matz, mattetti

Matz and I started talking about the fact that unlike what most people believe, Ruby for the web is fast, way faster than any PHP solution. We looked at different benchmarks, discussed the philosophical differences between Merb and Rails, his own view of web development and how Ruby was perceived in Japan. Yehuda joined us and we started talking about Ruby 1.9.

Koichi had a great presentation about YARV few days before and we spent few hours chatting with the JRuby guys and Laurent Sansonetti from MacRuby. We had some concerns about Ruby 1.9, Matz also asked us about Ruby 1.8.7. It was great to get a direct feedback about what’s going on in the Ruby team, their schedule, process etc… We also realized that we (the Merb team) need to communicate better with the Ruby team when we need something added the language. It was also very interesting to hear Matz’ opinion on Ruby Enterprise Edition.  As everybody knows Matz is a nice guy and that’s why Ruby people should be nice :)   I have to agree, Matz is a very kind and patient person.

Hack time with Aaron Patterson and Bryan Helmkamp

Yehuda (Merb), Charles(JRuby) and Laurent(MacRuby)

Yehuda (Merb), Charles (JRuby) and Laurent (MacRuby)

One of the reasons why RubyConf was awesome is that every other guy was the author/maintainer of a major Ruby library. As you know Merb plays well with a lot of various libraries and having some time to seat down with the maintenairs of these libraries make things way easier.

Nokogiri As already mentioned, we switched to nokogiri before 1.0. Nokogiri is based on libxml2 which is a fast and reliable XML parser. I won’t get into the hpricot vs nokogiri argument, but let’s just say that nokogiri was fitting our needs better. (Nokogiri is only used in the specs, and therefore is not needed to run Merb)

David Chelimsky(RSpec), Matt Aimonetti(Merb)

David Chelimsky (RSpec), Matt Aimonetti (Merb)

Webrat is an awesome library that let you test your app by using a virtual browser or by integrating with Selenium. Webrat also switched to Nokogiri and we moved some of our matchers directly to webrat since webrat became a Merb development dependency. Thanks to webrat you can write tests that will fill up forms, follow links, select options… basically act as a user. What’s even better is that you can run these test directly in your browser thanks to Selenium!  Because we think Webrat is totally awesome, we decided to offer framework support so people wanting to use webrat functionalities could do it without struggling, it there out of the box.

I have to say that both Bryan and Aaron are great guys, even though they both had their girlfriends with them, they spent time with us working out some details and discussion options. Thanks a lot guys!

(p.s: both projects also work great with Rails)

Merb presentation at ORUG

Orlando Ruby Group meets once a month and this month I was invited to talk about Merb. Just before me, Thomas Meeks gave a great talk on Nanite. It was really nice to meet a lot of the local Merbists. Most of them went to RubyConf, but I didn’t get to meet everyone, so it was great to a sescond chance to network.

My slides are available on slideshare.net You might be interested in looking at the different Merb app formats (very_flat, flat, core and stack) examples starting slide 45.

RailsCamp Australia

Daniel giving a talk on Merb

Daniel giving a talk on Merb

RailsCamp Australia took place in Adelaide this year. Of course our Australian core team member couldn’t miss the event. Daniel Neighman aka hassox, the man being merb-auth made it to the event and talked about Merb. (RailsCamp is more of a RubyCamp than a Rails conf so nobody really complained, hassox got a lot of good feedbacks)

Rails Podcast

Geoffrey Grosenbach, one of the first merbists and very well known figure of the Ruby/Rails community recorded a podcast during RubyConf. Geoffrey interviewed me about Merb 1.0 as well as Blake from Sinatra and josh Peek from Rails.

Rails vs Merb drama

I already explained the whole story in a previous post. It seems that Yehuda and David agree on something: Ruby is awesome. David is still ignoring Merb, but is answering indirectly via an interesting series of Rails Myths. Over on Twitter, adzap suggests that Yehuda was just following DHH advise, and was trying to create a conflict because, according to 37signals conflict is good for business. I don’t think that’s what Yehuda had in mind when he replied to Jeremy, but that would explain why DHH ignores (¿on purprose?) the Merb community.

Documentation

Since 1.0 is out, our main focus has been documentation. However we can’t write all the documentation ourselves. So we focused on helping people on IRC/Mailing list so they can help us with the documentation. The Japanese merbists started their own wiki, the Chinese, French and Japanese merbists started their own mailing list. Here is an example of Japanese thread covering some of Merb basics.

The wiki is also growing, I personally added a glossary to the “Rails to Merb guide“. Showing you the Merb equivalent of some of Rails idioms. I also posted a merb example app with sources available on github.  While this is not a full app, the example covers:

  • generating an application
  • generating a resource
  • specing/testing a model
  • adding model validation
  • specing/testing requests
  • modifying views and layouts
  • passing flash messages (messages passed from one action to another)
  • adding authenticated routes
  • testing authenticated requests

Feel free to fork the project, add more branches (one step per branch please, so people can look at the diffs) etc…

My goal in writing this example was to show people the basics to get started and especilly how to test a merb app. Note that this is NOT the only way, but I feel strong about TDD and by providing you with simple examples you might also give it a try ;)

My next victim will be a Merb slice, I’ll show you how to easily write and test a Merb slice to use, reuse and abuse your code.

Peepcode released an updated PDF covering Merb 1.0

I saw the draft of the upcoming Merb screencast, and once again, Geoffrey does an awesome job teaching you what you need to know.

(p.s: this blog is not sponsored by peepcode ;) )

Yehuda’s beta book on Merb also got updated to cover Merb 1.0.

The first chapter is available for free, the 3 other available chapters cover:

Getting started With Merb
Using Merb with a database
Automated testing

Since it’s a beta book, you receive update/new chapters automatically.

(print version available later on)

Merb contributor, Foy Savas told me he made a lot of progress on his book and he hopes to have a PDF version out before the end of the year.

You can meet Foy in person in Boston on November 17-20 at the Addison-Wesley Voices that Matter: Professional Ruby Conference.

(I can’t remember who is writing the third book on Merb, please contact me so I can update this section)

I also noticed a bunch of guys on IRC writing plugins and slices, I hope to see even more tutorials very soon.

Merb 1.0.1

Merb 1.0.1 is in the work and should be released in the next few days. It’s just a maintenance release, so nothing new but we expect to ship with the new upcoming version of DataMapper, optimized generator (you will be able to use spaces in between arguments if you follow the unix standard) and some bug fixes.

Qcon

Gregg Pollack from the RailsEnvy hall of fame, is organizing a Ruby track during Qcon, the infoQ conference taking place in SanFrancisco this week. Both Yehuda and I are scheduled to talk. My talk is on Merb for the Enterprise and Yehuda’s is on testing. If you are around, come say hi.


Similar Posts

, , , , ,

  1. #1 by Samo - November 16th, 2008 at 23:46

    The whole Merb vs Rails drama is funny – I don’t know why DHH seems to feel like he needs to defend Rails, especially since a few of the “Myths” are a direct reaction to the claims the merb people make.

    Seems like he’s either forgotten that Rails was the new kid on the block just a few years ago or he’s just too defensive about it and it’s the same motivation he had when attacking/defending Java et al.

    Besides, it’s not like Rails needs defending. Their userbase is growing, they’re in a strong position and the framework is still the right choice for a whole lot of people.

  2. #2 by Liam Morley - November 17th, 2008 at 04:50

    I’m curious, what’s Matz’s opinion on Ruby Enterprise Edition?

  3. #3 by nabster - November 17th, 2008 at 08:26

    Yeah, tell us more what Matz’s opinion is about the Enterprise Edition. I would like to read it.

  4. #4 by Matt Aimonetti - November 17th, 2008 at 09:26

    @liam & @nabster as you probably know, Matz is real gentleman. He did not say anything bad about REE, he just mentioned that even though REE was making some web frameworks use less memory, it was also %20 to %40 slower for some other Ruby apps/scripts.
    He agreed that something needs to be done, but he was not willing to pay the price of the current (REE) implementation. That’s why someone in Japan (Narihiro Nakamu) is working on achieving the same goal while preserving Ruby’s speed.

    For more information about this topic, read this thread

  5. #5 by nabster - November 17th, 2008 at 14:59

    Thank you very much Matt.

  6. #6 by Matt - November 21st, 2008 at 15:03

    Hi Matt,
    Just letting you know that I’m currently writing the third Merb book by Apress.

Comments are closed.