Noel Rappin Writes Here


Aug 30, 2010: Rails 3 has landed

Obtiva, Rails 3, RubyNoel RappinComment

Top Story

As you probably know, both Rails 3 and Bundler went final over the weekend. The Rails 3 release notes are up, as well as extensive coverage on the Rails Guides page. I'll also mention Jeremy McAnally's Rails 3 Upgrade handbookhttp, and Gregg Pollack's list of great Rails 3 documentation sources. And, just for the hell of it, here's the post I wrote back when Rails 3 was first announced. Somehow, this is not the first Google result for the phrase "Merby Overlords"

In other news

I do mean to write about Obtiva's Master Class with Alistair Cockburn, but that's going to take way more concentration than I can muster this morning. For the moment, it's enough to say that it was fun, interesting, and enlightening.

In honor, this link that Alistair tweeted over the weekend, the Half-Arsed Agile Manifesto. Anybody who doesn't recognize themselves in that a little bit has never actually tried Agile.

Link Out

By the way, I loved doing the post based on search engine entries into the site... you'll see that again, as it was relatively easy, kind of funny, and marginally useful, and that's pretty much what I aspire to.

If you're into programming abstractions and/or you want to learn about Lisp, Magnus Holm has an introduction to S-Expressions for Rubyists.

And if you are into crazy Ruby metaprogramming, Lance Pollard has a long look at instance_eval. It's nice to see a metaprogramming example that's actually motivated from a use case.

Highly prolific conference blogger Jake Scruggs was at RubyKaigi this week, here's day one of his report. Day two. Day three.

July 14 2010: The Smallest Thing

Obtiva, Ruby, TeachingNoel Rappin5 Comments

Book Status

Still working on the legacy chapter. The sidebar here is that deliberately writing bad legacy code for purposes of using as examples in a book is a little challenging. It's got to be tangled enough to make the point that it's hard to clean, but small and clear enough to work in the context of a book example. My tired brain was fighting it last night.


I mentioned this recently, but I want to mention it again. I'll be teaching Obtiva's Advanced Ruby on Rails course Aug 30 - Sep 2. This is going to cover a lot of non-novice topics. We'll be building in Rails 3 and (I hope) Ruby 1.9.2, and covering security, performance, rich experience tools, deployment, and the like. It's a new course, and I'm excited to put it together. I'll most likely be quizzing early registrants to determine exactly what to cover. Follow the link and enter your information on the form.

The Smallest Thing

So I was talking yesterday, and later twittering, about the smallest issue that I might see in a potential candidate's code sample that would almost disqualify that person in my eyes.

My first answer to this for Ruby is 4-space indent. Because it's totally trivial on the one hand, but on the other goes against an extremely well-established community norm, indicating that either the person isn't engaged with the Ruby community or is really, really stubborn. Neither of these is a recommendation.

Other people suggested different things -- here are some of the most trivial:

@wxwill said "for and while loops". Yeah, that would be an issue for me as well, same reason.

@aberant: suggested STATEMENT rescue "". I might give somebody a pass if that was used reasonably once, but it would look weird in a code sample.

@johnashenfelter suggested Hungarian notation, which would probably disqualify a developer for me in almost any language that was not actually C. He also suggested CamelCase, which would also act like four-space indent for me.

@mileszs mentioned explicit return statements. I sort of agree, although I see that as less of a problem than some of the others, in part because it's easy for an explicit return to slip into code, at least for me. I find when teaching Ruby that this particular community quirk is particularly hard to justify to people coming from, say Java. To them, it feels like deliberate obscurity. Though I think once you get the hang of expression-based Ruby, it seems perfectly natural.

May 28, 2010: Friday Friday Friday

Chicago Ruby, JQuery, Metaprogramming, Obtiva, Plugins, Rails, Rails 3, RubyNoel RappinComment
Short today, but preparing some longer, more rant-y bits for the future...

Book status

Not much forward motion for the next few days, as I have a lot of other stuff to do, including preparing for Chicago Ruby on June 1 and doing a bit of touch-up on Obtiva's 4-Day Ruby on Rails/TDD boot camp. All fun, but time consuming.

Some Links

A quick tutorial by Peter Cooper on setting up JQuery in Rails 3.

This isn't the first time I've seen something like this, but this article by Alan Skorkin on Ruby Procs and Lambdas is well done and it's worth refreshing from time to time.

We always say that Ruby methods can't have spaces in them, but technically that's a lie, as shown in Joon You's screencast.

Rails Dispatch this week is by José Valim. It's kind of rambling, but a very interesting look at plugins that mess with Rails 3 features like Responders and Generator.

May 3, 2010: Hi, I'm Back

Cucumber, JavaScript, Obtiva, Peanuts, Podcasts, Rails 3, RailsRx, Teaching, cheat sheets, testingNoel RappinComment

Hey, where were you?

Sorry about that, I spent most of last week running the Obtiva Ruby/Rails/TDD 4-day boot camp training, and I didn't have time to do this daily catchup. Hey, if you think you need me or somebody like me to come to your company and blather about Ruby and Rails for a few days, contact us at It's fun.

Book Status

Rails test prescriptions: still on sale. Please do go to the forum to talk about what's there and what's not there.

Lulu raffle: still open, I think for another day or two.

Meantime, I've been working through the Cucumber chapter, and also proofing the mock article that will be in the May Pragazine.

Tab Dump

Several days worth of stuff.

Cucumber 7 is out of beta and in the wild. I'm hoping this doesn't mean too much updating of the chapter I'm in the middle of editing. The big change is a new parser advertised as 50-100 times faster. Which sounds like an outstanding change.

This week in Rails Dispatch, an article outlining the new ActiveRelation/Arel implementation of ActiveRecord for Rails 3

Thinking in Rails has a nice list of Ruby and Rails podcasts.

This is exactly what I want from a Rails plugin in: short, sweet, and solves a problem. In this case, from Ryan Bigg, finding database records by partial date.

I think I'll probably use this one: a detailed cheat sheet for all things Rails Migration.

A very detailed article on unobtrusive JavaScript that I really need to read more carefully.

The Thoughtbot team shows a nice design retrospective, walking through their process.

A couple of test links:

José Valim gives out some awards for best test suite features.

Will Leinweber tells you what the winning integration test stack looks like.

Bryan Liles at the Smarticus blog also responds to the question of whether you need unit tests and provides a good overview of the TDD process. I think he's got this right.


Apparently the Peanuts brand is still worth something, even without daily content, as an 80% stake in the brand rights for Peanuts just sold for $175 million. And if you want a sense of exactly where the pecking order is here, the article casually mentions in the next-to-last paragraph that the rights to Dilbert are also included...