I’ve spent most of my off and on coding life with web development of some sort. First it was IDC files, which later transformed into ASP. Then I kicked the Microsoft habit and went with PHP. I did a little time with Python and Django after that then tinkered briefly with Rails. What I learned during my time with Rails is that I really, really like Ruby. I also learned that I was far less enamored with Rails. I don’t like a framework that’s too opinionated.
For the past two weeks I have been devoting a considerable amount of free time (and thankfully, some work time) to playing with Merb. This appears to be just what the doctor ordered. I’m lucky enough to be a Johnny-come-lately and I happened to start just after Merb hit 1.0. One thing that Merb is lacking though is documentation. So, I figured that as I go, I’ll write down my questions and when I answer them, I’ll write those down too. Hopefully, this helps some people out and serves as a reminder for me.
First off, if you’re new, here are some resources that have really helped me:
- Merbivore: All you need… nil you don’t.
- DataMapper: Although Merb is ORM agnostic, the stack uses DataMapper by default and if you’re beginning, I suggest sticking with it. (Mind you, I plenty of other reasons for using DataMapper!)
- Merb — RDoc API Documentation: Don’t miss this. I missed this the first few days until someone on IRC pointed it out to me. This is not an ideal starting place, but as you get going it’s a good reference. (Duh. It’s RDoc.)
- Merbunity: It’s not exactly teeming with information right now, but there’s enough and it’s sure to grow as time goes on. Its tutorials aren’t bad.
- MerbCamp Videos: Watch these. Some of the performances aren’t exactly Academy Award winning, but there’s a lot to glean from these.
- The Merb Google Group: The guys on this list have been very friendly and have answered all my questions thus far. The discussions are also worth reading and it’s a good place to search for answers. The core devs are also on the list and are quite active.
- The DataMapper Google Group: I’m not as familiar with DataMapper as a project as I am with Merb, but I can say this group is also friendly and has been very helpful.
- Katz Got Your Tongue?: Yehuda Katz’s blog. He’s the current maintainer of Merb and appears in the MerbCamp videos and is quite active on the Google group.
- Brainspl.at: Ezra Zygmuntowicz’s blog. This is the guy that got Merb started so, you know, his blog is probably worth taking a look at.
- The Merbist: Matt Aimonetti’s blog. He’s one of the core devs. He also appears in MerbCamp videos and he’s also a regular on the Google group.
There’s also #merb and #datamapper on irc.freenode.net which haven’t been as nice as #django was, but they can be helpful in a pinch. (I prefer the Google groups for both projects.)
There’s nothing super secret about any of this, and it’s been posted elsewhere, but hey, it can’t hurt to have another place to find this stuff if you’re a budding merbivore. Also, let me state, that my experience with Django and even my limited work with Rails really helped. Merb does follow some of the same patterns and conventions as Rails.
Let me add, if you’re interested in picking up Rails or Merb, make sure you have a decent understanding of Ruby by itself first. I strongly suggest against trying to learn Ruby as you learn Rails or Merb. I started with “The Pickaxe Book” which I can’t say I’m in love with, but it does the job. If you’re not a new programmer and are simply coming to Ruby, you might want to just swallow The Ruby Programming Language, I enjoyed it a lot.
Anyway, as I tinker I’ll write document my questions and their solutions. I make no promises that any of my methods are best practices or that I’m some kind of Merb, DataMapper or Ruby wiz. I’m not. However, given enough time, I could be I suppose.
For better or for worse, I have a feeling my writing will become increasingly boring and technical for a while.