Archive for category Meet the merbists

Meet the merbists: Hampton Catlin

Meet today’s merbist: Hampton Catlin
I’m personally looking forward to seeing Hampton’s work migrated to Rails 3 in a few months.


Matt Aimonetti: Hi Hampton, could you please introduce yourself and tell us what you do for a living.
Hampton Catlin: I’m Hampton Catlin. I’m “The Haml Guy” as I’m apparently termed all the time when introduced. I’m an early Rails hacker who has done a lot more than Haml, but whatever. These days, I’m doing a ton of iPhone development and am currently heading Wikimedia’s efforts for a new mobile platform… based on Merb!


Matt Aimonetti: How did you get started with Ruby, what’s your background?
Hampton Catlin: Well, everyone is welcome to laugh. But Slashdot introduced me to Ruby. I got into it about two months before Rails because the hotness (it was an obscure project at the time) and I grabbed a copy of the Pickaxe and never looked back. Prior to that I was working a crappy job getting people coffee at a bank. And then prior to that I was doing research for Nasa at my university with Java beuwolf clusters. It sounds fancier than it was.


Matt Aimonetti: You chose to learn and use Merb, could you please let us know why and how that happened?
Hampton Catlin: I had known of Ezra for a while and Yehuda. And so when I heard about the project, I was very interested. At the time I was looking forward to using a “Rails Light”. Of course, we know Merb is much more than that, but that was the original attraction.

Also, at some point I got really upset by the use of global variables in both of the frameworks, so I did some major patching to Merb to change over to module based constants. Aka, Merb.root instead of MERB_ROOT. I was ranting about it enough that I decided to do something about it. Also, I did some patches that messed up Merb with some weird documentation stuff. Sorry, Ezra.


Matt Aimonetti: Do you have some Merb projects available online we can look at? what was your experience so far?
Hampton Catlin: My most successful iPhone app (which was recently purchased by Wikimedia) was an app to browse Wikipedia. I chose Merb because I knew that I wanted something a little more bare bones than Rails, and it turned out to be a really good choice. And now, I’m getting a chance to extend that work into an entire platform for Wikimedia mobile. I am still looking for help with it….

http://github.com/hcatlin/wikimedia-mobile/tree/master
Its not live yet with wikipedia, but that’s the code that you can help with! :)


Matt Aimonetti What is your favorite aspect of the Merb framework?
Hampton Catlin: Its modular design. Its as complex or as simple as you would like it to be. Also, its easy to run Haml, and the more people that use Haml, the harder my nipples get.


Matt Aimonetti Could you please mention an aspect of Merb you hope to see being improved in the near future?
Hampton Catlin: Honestly, everyone is wild about gems, but I’m not particularly. I find gem management a bit cumbersome. I’m most likely doing something wrong or not doing it the right way. But yeah, I still find it cumbersome. I’d like to pair the excellent Gem support with better library creation support. I think both are needed. I don’t want to throw stuff in my /lib folder or randomly in my project. I want some structure and some simplicity. Somewhere between plugins and base libraries. I think this is where Merb *could* shine.

Also, resource handling. I wrote make_resourceful for Rails and I keep needing to do something similar for Merb. m_r is not very popular because I haven’t really put much time into spreading the word. Mostly, I just use it. However, there are about 60 other Rails developers in the world that use it extensively. So, its a small, close-knit group of developers using the tool. And, I think something like it could be much more elegantly mixed into Merb. Obviously its a plug-in, but I think its a low hanging fruit. “current_object” as a method should ALWAYS be around when its logical.


Matt Aimonetti Thank you for your time. Anything else you would like to add?
Hampton Catlin: Buy my book. Buy my book. Buy my book. Buy my book. Buy my book. Buy my book. Buy my book. Buy my book. Buy my book. Buy my book. Ok, not really. My book isn’t very good. But, I just wanted to make a “The Critic” reference.


, , ,

7 Comments

Meet the merbists: Jason Seifer

Jason Seifer

Jason Seifer

Today I’m interviewing Jason Seifer known for the funny envyads and the weekly RailsEnvy podcast.

Matt Aimonetti: Hi Jason, could you please introduce yourself and tell us what you do for a living?
Jason Seifer: My name is Jason Seifer and I do mostly web development for a living along with podcasting and screencasting.


Matt Aimonetti: How did you get started with Ruby, what’s your background?
Jason Seifer: As far as my background goes, I have a degree in Psychology from the University of Central Florida. I got started with Ruby by way of learning Rails. I used to do some hacking on perl and php but never anything for full time work until Rails came along. I fell in love with the Ruby language that way.


Matt Aimonetti: You chose to learn and use Merb, could you please let us know why and how that happened?
Jason Seifer: Doing the Rails Envy podcast, I’ve been keeping up with the latest merb news for a while now. Along the way I’ve been extremely impressed by how the merb team handles things, listens to its users, and implements new features. At the same time, I’m pretty lazy when it comes to coding so I wanted to wait until the API was stable and version 1.0ish before jumping in to building merb apps. I have a lot of Rails experience so picking it up wasn’t too hard.


Matt Aimonetti: Do you have some Merb projects available online we can look at? what was your experience so far?
Jason Seifer: I don’t have anything online at the moment but I am working on a couple of things that I hope to release in the coming months. Working with merb is a pleasure most of the time, though it’s pretty easy to get confused with some common rails functions that differ slightly by name (before/before_filter, etc) if you’ve been doing Rails for a while. One thing that’s really nice about working with merb is how compact and easy to understand the framework code is. It’s very easy to jump in and see how something works if you’re having trouble.


Matt Aimonetti: What is your favorite aspect of the Merb framework?
Jason Seifer: As far as features go, I love run_later. It’s pretty nice not to have to run a message queue for decoupling simple things like sending email from the request/response cycle. There are a number of smaller features like that which make merb nice to work with.

My favorite aspect of merb, though, is the stable api. It’s very comforting to know that by upgrading to the next stable point release of the framework that I’m not going to have things that break. This of course doesn’t mean that a stable and comprehensive test suite isn’t important but it is one less worry.


Matt Aimonetti: Could you please mention an aspect of Merb you hope to see being improved in the near future?
Jason Seifer: If you had asked me this question a few weeks ago I would have said documentation, but that itch is being scratched by the merb book. Though not exactly merb, I’d really love to see DataMapper get JRuby compatibility so we can get the full stack on JRuby for deployment. That would be very exciting what with everything going on in JRuby land at the moment.


Matt Aimonetti: Thank you for your time. Anything else you would like to add?

Jason Seifer:
I would encourage people to try merb if they’ve been holding out at all. It’s a great time to get involved and the community is great, too. Also, I’ll be starting a merb podcast soon so stay tuned for that. Thanks very much for talking with me.


, , , ,

3 Comments

meet the merbists: Andy Delcambre

Andy Delcambre

Andy Delcambre

Today, Andy Delcambre is our featured merbist.

Matt Aimonetti: Could you please introduce yourself and tell us what you do for a living.
Andy Delcambre: My name is Andy Delcambre and I work for Engine Yard
(http://engineyard.com) as a Software Engineer. I work primarily on
internal and customer facing projects. These projects are almost
exclusively written in Merb. At Engine Yard we take advantage of many
of the modular aspects of Merb. For example, we use Salesforce for
customer tracking and have a Merb slice which includes the DataMapper
adapters for Salesforce. This gives us the ability to interact with
salesforce from any application for free.


Matt Aimonetti: How did you get started with Ruby, and what’s your general programming background?
Andy Delcambre: I majored in Computer Science at college and had been hearing about
Ruby and Ruby on Rails for a while before I finally dove in. I worked
for the College of Engineering as a Linux Administrator and took the
opportunity to build my first rails application: a tool for managing
our automated deployments. This was a huge learning experience, I had
done web development in raw php before, but this was my first time
using a framework. It was both a bit overwhelming and a breath of
fresh air. When I graduated from University, I decided to pursue Ruby
and Rails as a career path and have yet to look back.


Matt Aimonetti: You chose to contribute to Merb; how and why did that happened?
Andy Delcambre: I was working at Planet Argon (http://planetargon.com), a small Ruby
on Rails development company and was looking to do some open source
contributions. I had been hearing quite a lot about Merb in the rails
community, especially that it was smaller, lighter and faster. I
decided to look in the bug tracker and see if there was something
small I could tackle and found a bug with the way nil and false
default arguments were handled in merb_action_args. When my patch was
accepted I was fairly hooked. I have been submitting small patches
ever since. I also led the inline documentation team at the Merb
sprint in San Diego during the run up to 1.0


Matt Aimonetti: Do you have any Merb projects available online we can look at? What’s your experience been so far?
Andy Delcambre: All of my merb projects are projects at Engine Yard right now. I
wrote a simple Merb app to manage the content on the Engine Yard
homepage and the blog is based on the Feather blogging engine, written
in Merb. My current projects are not yet publicly available but
should be very cool when they come out.


Matt Aimonetti: What is your favorite aspect of the Merb framework?
Andy Delcambre: I have two answers, first as a someone who works on merb, then as
someone who works with merb.

Ever since that first patch to action_args, I have loved the ease with
which I can jump in and dig under the hood. I have dug down into the
router, the dispatcher, the form helpers, and the mailer, all without
much problem understanding the code.

Second, as a developer of merb applications I think the direction merb
is going with the heavy emphasis on modularity is fantastic. In the
app I am currently working on, we are using four different slices
right now. One of which is an entirely different merb app modified
slightly and mounted within the application. One is a custom
merb-auth strategy that we use internally that makes it much much
easier to maintain consistency for our internal applications. These
would be much much harder to integrate for most other frameworks. It
is so useful to be able to just plug in these small, specific pieces
of functionality.


Matt Aimonetti: What parts of Merb you hope to see improved in the near future?
Andy Delcambre: I am looking forward to the future improvements to the modularity of
merb. I am really ready for the day that you can mount entire merb
apps inside one another. Then, once everything uses merb-auth, I can
imagine mounting a blog and a cms inside the same “app” and have the
users shared across, automatically. How awesome would that be.


Matt Aimonetti: Anything else you would like to add?
Andy Delcambre: I am looking forward to being part of the merb community as this
project just keeps getting better and kicking more butt. Thanks a lot
for including me in this series.

, ,

3 Comments

Meet the merbists: Lori Holden

Lori Holden

Lori Holden

Today, I’m interviewing Lori Holden from YellowPages.com/AT&T Interactive.

I met Lori on IRC a bit before MerbCamp 2008 where she gave a very interesting talk on Sequel.
Matt Aimonetti Hi Lori, could you please introduce yourself and the company you work for?
Lori Holden: Hi Matt, my name is Lori Holden. I originally became interested in software development when I was 10. Since then, I have been a professional developer for over 10 years now and currently work as a Senior Software Engineer for AT&T Interactive.


Matt Aimonetti How did you get started with Ruby, what’s your background?
Lori Holden: Years ago I had been hearing talk about an ‘upcoming’ new language called Ruby. At the time it didn’t have many people in the US working with it, but I really loved how similar to Smalltalk it was.

My core background experience is centered around Ruby, Java, C++, PHP, and Javascript. Outside of that, I consider myself a language geek… and have quite a bit of experience in Python, Smalltalk, OCaml, IO Language, and Perl, along with several others.


Matt Aimonetti You chose to learn, support and use Merb, could you please let us know why and how that happened?
Lori Holden: I was one of the original Rails developers. Since then, I have used Rails off and on… but have found myself growing more and more unsatisfied with it. On top of that, I have also found myself growing out of touch with the core developers over the last couple years, which I am sure doesn’t help things.
Merb is fresh. I find it carries a lot less baggage with it than Rails. Even better, the project is still small and I seem to get along quite well with the the other developers on the project.


Matt Aimonetti You have been contributing to the Merb project and gave a Sequel presentation during MerbCamp 08, what is your motivation?
Lori Holden: Primarily, I just like the developers. Everyone seems to be really passionate about Merb and are willing to push it in some really cool directions. At the same time, Merb still manages to remain slim and with very little bloat.
I really enjoy helping projects push through to release and I was glad to be a part of that for Merb.
Sequel is a really wonderful tool, and I was finding that just not that many people in the Merb community were using it. I had a lot of experience with getting Merb and Sequel to work with each other, and figured I should share my experience with everyone else.


Matt Aimonetti: What is your favorite aspect of the Merb framework?
Lori Holden: This is a really odd one, but my favorite aspect of Merb is that I know it very well inside and out. If I need to browse the source for some feature, I already know where to go and what to look at. I attribute this to how slim the merb-core has remained. I think it is quite easy to work with.


Matt Aimonetti: Could you please mention an aspect of Merb you hope to see be improved in the near future?
Lori Holden: Merb is still immature in some areas. Gem management is one thing that I am finding to be a bit lacking. The support for Sequel could use a bit more improvement… but I suppose that’s something I should work on. And finally, something that I hope Merb always works on: Keep it Small. Keep it Simple. Keep it Core. Bloat should be a plugin away, not an upgrade.


Matt Aimonetti: Thank you for your time. Anything else you would like to add?
Lori Holden: Thank you Matt. I hope you and your wife have a great winter solstice.


, ,

2 Comments

Meet the merbists: Derek Neighbors

Derek Neighbors

Derek Neighbors

Today, I’m starting a new series called meet the the merbists. My goal is to feature various people from our community and ask them a few questions about Ruby, Merb and their projects.

Let’s get started with Derek Neighbors from Integrum.

Matt Aimonetti: Hi Derek, could you please introduce yourself and the company you work for?
Derek Neighbors: I am Derek Neighbors and I work for Integrum Technologies, an agile software company based in Chandler, AZ focused on web solutions using Ruby.


Matt Aimonetti: How did you get started with Ruby, what’s your background?
Derek Neighbors: We were doing custom software development using PHP and Python. We mostly had Python backends with PHP front ends that would communicate via XML-RPC. While this was working, it just didn’t feel productive. We had heard some inklings about this new framework called Ruby on Rails. It was nearing 1.0 and so we decided to do an important but relatively simple e-commerce application in it. We fell in love almost immediately and within 3 months started solely using Ruby for development. The productivity gain just could not be ignored.


Matt Aimonetti: You chose to learn, support and use Merb, could you please let us know why?
Derek Neighbors: We deal with a lot of customers that also have opinions. When we need to work to integrate into their systems, we need the flexibility to do things their way at times. Having to dismantle a framework to do little things can be frustrating. Having a framework with solid engineering practices behind it better allows our developers to help improve or deviate from the framework when necessary. This is something we were struggling with in Ruby on Rails.


Matt Aimonetti: Do you have a public project you wrote using Merb that people can look at?
Derek Neighbors: We have an academic scheduling program we are starting to work on, but have not yet released.


Matt Aimonetti: What is your favorite aspect of the Merb framework?
Derek Neighbors: It reminds me of unix. Lots of small pieces that do their job really well, that when combined make up something pretty spectacular. If you don’t need a piece you can leave it out. If you like emacs (datamapper) instead of vi (active record) then use it. In particular, the concept of Merb Slices is very appealing for code re-use. Something we have struggled with in Ruby on Rails to date. While plug-ins help with re-use there is nothing that would allow the flexibility that say merb-auth enjoys today as a slice.


Matt Aimonetti: Could you please mention an aspect of Merb you hope to see be improved in the near future?
Derek Neighbors: Documentation is pretty high on the list, but also losing some of the “you have to be a ruby hacker to use merb” implications. While it is a hacker’s framework, things like opinionated stacks and talks of Django-like admin interfaces make it sound pretty appealing to the non-hacker audience as well. I am looking forward to Merb not being only for hackers, but still preferred by hackers.


Matt Aimonetti: Thank you for your time. Anything else you would like to add?
Derek Neighbors: I just want to thank Merb-Core for their dedication and passion towards Merb. I think believing in quality and having the determination to make frameworks take it to the next level is what improvement is all about. I thank them for loving Ruby on Rails enough to push the development of both Merb and Ruby on Rails forward by not being okay with “good enough”. People don’t tell open source programmers enough how much they are appreciated. So Merb-Core.. AGAIN, THANK YOU!

, , ,

1 Comment