Ruby on Rails

posted 02/16/08 by Rick Webb

There’s a new sheriff in town. PHP Roll over. Okay, maybe not. Bust still, woah. So you’ve heard about Rails, and Ruby on Rails. What does this mean for you? Here’s the quick technical lowdown: Rails is a language. Ruby on Rails is a framework that lives and runs on Ruby. It was invented by those insanely clever peeps over at 37 Signals. In like 2004. So it’s a newbie on the scene.
The idiot’s version is that Rails makes things quicker for “prototyping.” So there’s this big long debate out there about what that means. Is it as good as other technologies for building the next yahoo? What’s a prototype? These are interesting questions, and hopefully as this site grows there will be a lively debate below this paragraph about these topics. But we’re sticking to the laymen’s view right here. And, really, there are two things to keep in mind if you’re a marketing exec considering Rails.
First, remember that when the nerds talk about “prototyping,” they’re really talking about prototyping software that’s traditionally assumed to live a really really long time. You and I? We’re talking about advertising. Marketing. Things that are by their very nature incremental, changing, and campaign based. We’ve found that Rails is very useful in these situations. We’re often facing projects with decent budgets, but almost no time (“the spot airs in a month!”) and high requirements (“we want to win a Lion with this one.”) Then, of course, in three months we’ll be worrying about a new campaign on our calendar and everything’s going to have to change. These circumstances often mean Rails is a good way to go – make it quickly, make it awesome, don’t worry about the long term. Get ‘er done.
The other thing that we want to keep in mind, as marketers thinking about web technologies, is that Rails, due to its nature as a fast prototyping language, is really well-suited towards prototyping, shockingly. This means it’s actually fairly well suited to Agile and Scrum. So that’s cool.

Here are some recent posts from our employees about Ruby on Rails:

New file script

I set up a file server at home so that I can access my files from any computer in the house. I put new files on the box all the time, and don’t always remember what’s new when I want to grab new songs or put photos online, so I wrote this thing in ruby to run through the files on the drive and make a list of new ones. A cron job runs it once a week. Next on the agenda, I’ll make it email me the list and copy all the new files to my backup drive.
It gives you a total new file count at the end, and some spiffy output to look at while it runs. It also skips those dot files that OS X leaves all over the place. Read on for the script.

Rails validation generator

If you’re writing Rails apps on the regular a good amount of your time is going to be spent writing ActiveRecord validations. You’re probably also defining many of the core restrictions in the underlying SQL table structure. Perhaps, like me, you have grown to loath having to define your tables in your migrations, complete with :limit and :null => false options, only to have to repeat yourself in the models’ validations with a bunch of validates_length_of and validates_presence_of declarations.
The larger the table definition the worse it gets. Some strings can be null, some can’t. That’ll mean careful placement of :allow_blank => true in the models, attached to the necessary validates_length_of, :maximum => expressions. That kind of thing takes forever, but it’s necessary unless you want flies in your soup.
So here’s a Rake task to do this for you. It’s like an intern. It’s not perfect and you’ll probably want to tailor its deliverables before you call it a day, but it does a decent job.

Exception Notifier and Rails 2.2.2

Hey Rails developers,
Rails 2.2.2 totally broke the Exception Notifier. They took out the send!() method from ActiveSupport, which causes Exception Notifier to fail and put a lot of nutty /!\ FAILSAFE /!\ in your logs.
Get your patch here.

A little about our site: The People

Hi, I’m Kenji. I do some front-end development around here, and I thought I’d help you get to know your new barbariangroup.com!
It’s been a relief to get this site finally out the door and in front of all you nice internet people. As Rick said (to some perhaps-deserved derision), it took over six months to bring barbariangroup.com version four (internally codenamed Merrimack) to fruition. That’s a crazy long time, sure. But we’re a small, busy shop, and couldn’t blow through this in a month. Not while continuing to pump out high-quality projects for Kashi, CNN, Adobe, TAP Project, Motorola, etc etc. We approached the barbariangroup.com version four redesign as seriously and as carefully as we would any content-rich client site, and as such, it took some time. And some people.

learning new stuff

Back in 2000 when I was first learning PHP, I came up with a project for myself. I had been writing down my dreams since I was a kid, and I thought it’d be kinda neat to see what sort of themes emerged from them over time.

Mimes, Rails, Memory and Peeps

N.B. This post was from the last version of our site

Hello there! This week we launched a pretty funny site for Virgin Mobile, with our dear friends Mother in New York. Let’s turn our attention to the Mimes – life’s underdogs. They need our help. Please, please, adopt a mime. If you’re on the fence, go to the Mimulator and see just what it’s like to be a Mime. Oh, the humanity.

And here’s another completely amazing site we’ve launched. Interact Ten Ways, for Getty Images. This is an awesome collaboration between Getty, us, and some of the most prestigious design groups out there, like Tomato, Sumona, Less Rain and Great Works. We do the explorations of Memory and Space. And we’re ridiculously proud of it.

In other, more techy news, Techy Toby is speaking at the world’s first Rails Conf, the conference for Ruby on Rails development. We’re ridiculously bullish on Rails, and we believe we’re one of the first firms to use pre-1.0 rails in large, interactive advertising and marketing producton environments. We’ve been having tremendous luck with it, and it’s managed to save our clients a lot of money in the process, and give us one more tool in the “I need it next week” arsenal. Anyway, if you’re curious, check out Toby’s talk at RailsConf 2006.

Finally, we’d like to welcome, belatedly, Rachel Bell to our team as a Sr. Interactive Producer. Rachel comes most recently from the Chopping Block, but in the month we’ve all been together, we’re already realizing she’s secretly been here in spirit the whole time. Welcome!