Noel Rappin Writes Here


August 26, 2010: Some New Stuff

JavaScript, Ruby, WindyCityRails, Yehuda, rvmNoel RappinComment

Book Status

RSpec chapter draft handed in to edit. It's going to need a better conclusion. A lot changed in this one, relative to the Lulu version -- this is probably the chapter most affected by my own personal experience since it's original version.


Haven't done a link set in a while, this is going to be kind of random.

Still seats available for both WindyCityRails in general, and for my tutorial in specific. But the sponsor list has filled up.

Motorola bought 280 North, best known for their Cappuccino JavaScript framework, and the 280 Slides application. Apparently, Motorola plans to use them to make web apps aimed at Android devices. Should be an interesting culture clash.

I've been looking through the Rails 3 unobtrusive JavaScript stuff trying to figure out new practices. The Trevor Turk blog has a code snippet for setting up a form that submits when a checkbox is clicked. Like it. Love to see more examples like this, it really shows how clean the Rails 3 structures will be.

Ever wish the Ruby Date and DateTime classes were faster? Course you have. Here's home_run, a C implementation of the Date and DateTime classes that claims a 20 - 200 time speedup. The Readme page shows how to use the home_run classes instead of the standard ones, if you are feeling adventurous.

I love stories of tracking down obscure bugs, and Yehuda Katz has a great one about bundler, rvm, and various shell interactions. Debugging is maybe the important skill, so watch an expert's process at work.

Speaking of rvm and it's awesomeness, here's a quick guide to putting rvm, bundler, and passenger together on a Rails deploy.

Here's a little test snippet to solve the problem of how to test an abstract controller by adding a small controller in the test page and creating a route for it.

August 4, 2010: A couple of useful things

Apple, Safari, WindyCityRails, rvmNoel RappinComment

Book Satus

Still patching the Shoulda chapter together. Realized yesterday that Machinist is in the middle of a version 2 upgrade, which, along with some factory_girl changes probably means I have some tweaking to do in that chapter.

I haven't run the buy links in a while. You can get the beta ebook and pre-order from Pragmatic and the book is also available from Amazon.


Early Bird pricing for WindyCityRails is scheduled to end today. I'm doing the PM tutorial on "Testing In A Legacy Environment". Please sign up, I'd hate to talk to myself. Also watch WindyCityRails for another speaker announcement that should be coming up very soon. There's already a great lineup, and they run a super-great conference.


This is handy given what I've been doing this week. Christoph Olszowka has made a bash completion script for RVM commands. I wonder if it will work in my zsh shell.

Speaking of useful tips, on the off chance that anybody stumbles across this who doesn't read John Gruber, he has a useful OS X service for opening all the URL's in a selected text as separate Safari tabs.

Former Apple engineer Sachin Agarwal, now at Posterous, lists some things he learned about project management from his time at Apple.

August 3, 2010: The Most Efficient Cargo Cult Money Can Buy

Passenger, Rails 3, Yehuda, rvmNoel Rappin1 Comment

Book Status

Spent yesterday's book time rearranging the Shoulda chapter so as to be more focused on the general ideas than the specific Shoulda interpretation. Today's job is making sure it all still flows.


So I have something like a half-dozen half-finished blog posts. Until the day some of those become fully finished, here's a few links.

Simone Carletti has list of practices to follow in your Rails 2.3 app to make it more compatible for an eventual upgrade to Rails 3. I literally just used this article yesterday, building a new Rails 2.3 app with Bundler, rails_xss, and a couple of other nifty things.

Yes, that's why I tweeted yesterday about the awesomeness of RVM. It was the first time I needed to keep Rails 3 and Rails 2 on my system, so the first time I created a project specific gemset -- you can find some articles with instructions in previous link posts. Easy to create, easy to share, easy to set up everybody's development environment.

This list from Istvan Hoka of Mac OS X tools for Ruby development is a little quirky, but a good overview of what's available.

I really want to start using Passenger 3. A couple of days ago the Passenger team released another preview post with more cool features. They deliberately bury the lede, though, as they close the post with a strong hint that some of the features will be held for a premium for-pay version. More power to them, I say -- free plus paid extras sounds like a good model for them.

Following up on the gems he released a few days ago, James Golick describes his rollout tool for conditionally adding new features. It uses Redis to determine user status for the purposes of conditionally executing code.

I thought about this tweet from Yehuda Katz for a while:

Am I crazy, or is it too easy to cargo-cult crazy practices from StackOverflow, resulting in compounded problems and error reports?

I see where he's getting this, but I'm not sure that Stack Overflow is all that qualitatively different than picking up advice on the internet in general. It's just a more efficient way to cargo cult, which would make a great slogan.

June 30, 2010: The Triumphant Return of the Monster Link Post

Cucumber, Don Norman, Rails 3, Ruby, Shoulda, Steve Martin, UXD, iPhone, rvm, writingNoel RappinComment

The end of the repair story

At the end, a very positive experience with Apple support. The repair was free, done when they said it would be done, and all told, I spent less than fifteen minutes in the store between both halves of the visit. Plus, they replaced the top part of my pre-unibody MacBook, which was worn down and discolored from my gunky hands, almost as though they didn't want an ugly Mac in the field.

Book Status

With the laptop back, I'm back to work, last night going back over the Style chapter. I think now the plan is to do a slightly smaller next beta that would get out next week, just the Coverage and Style chapters, with the next batch, probably the Legacy and redo of the startup example coming shortly on its heels.

Also, the book has somewhat quietly shown up on Amazon and, I presume, other online outlets.

Of course, the beta is still available at PragProg.


Many, many links, as I catch up on an entire week's worth.

Thoughtbot announces that factory_girl is now split into a separate Rails 3 gem, in much the same way that Cucumber and RSpec are.

Also in Thoughtbot-land, the should_change command has been deprecated from Shoulda.

Jeremy McAnnaly announces the 2010 Ruby Hoedown, after some rescheduling due to the Nashville flooding. Again, it's the low, low, price of free. I'm hoping to break my 0-for-2010 streak on conference proposals with my submission.

Everyday Rails has a good post about getting Rails 3 and RVM working together.

I haven't watched this video yet, but a little Don Norman is a good thing, right? (via Joel Spolsky)

Test Inline is a Ruby library from Eric Anderson to put tests in the Ruby source file. Eric freely admits that this is an experiment, which is good because my experience with this kind of tool (Python doctests) is that it gets messy pretty quickly.

Ever think that Lemmings would make a great iPhone game? Me too. Also, the people who have the rights to the code. Coming soon.

I love Steve Martin. He's posted the rider for his tours. A sample: "BUFFET ... Six-packs of any canned beverage for Steve to compare his abs to."

I've been waiting for this: Lifehacker posts some Handbrake presets for iPad and iPhone 4. Seem decent, but a bigger file size than what I had been doing.

Please don't do this. It's a bad idea and will make your code harder for other Ruby developers to maintain.

Two from David Chelimsky: Having a topic branch when contributing to git projects, and a change in how views are handled in controller tests in RSpec 2.

I really need to watch this presentation from RailsConf on Beautiful Markup by John Athayde.

Speaking of RailsConf, here's a retrospective from John Trupiano of the BohConf "unconference" that happened alongside.

Dan Ingalls was one of the people behind Smalltalk 80, here's an interview with him.

Over at Teach Me To Code, a screencast about setting up a Rails project and writing the first Cucumber feature.

Still in Cucumber, Michael Orr shows how you can use an instance variable to track objects in a Cucumber test. I do this a lot, myself, although I'm not completely convinced that you get a cleaner test suite at the end.

Rands has a great post about his writing process. I love that everybody does this a little differently, although calling what I do a "process" is probably a little much.

Paolo Perrota, author of Metaprogramming Ruby, has a nice note about how great the Ruby community is.

UxMyths seems like a useful site to browse.

Speaking about great writing, I loved, loved the opening of this article by Adam Keys about why he always comes back to TextMate. Also some good comments. I hadn't thought of the issue exactly this way, but it makes perfect sense.

The Time of Day gem lets you treat ActiveRecord time columns without their date information for certain kinds of comparisons.


I think I mentioned that I did a talk at Refresh Chicago last week. It was fun, but we think turnout was down due to the tornado warning over Chicago that night -- it's possible the sirens acted as a deterrent. Well, video of that is not up, but here's a video of the storm that night, featuring lightning striking three Chicago skyscrapers at the same time.

June 21, 2010: Double Double Splat Splat

Database, Hudson, JQuery, Less, Matz, Passenger, Rails, Rails 3, rvmNoel Rappin2 Comments
Link post today. Turns out I built up more links than I thought.

Book Status

Somehow I wound up writing and editing the Rcov chapter, which, among other things, is the first time I've had to wrestle with RSpec 2 vs. RSpec 1 behavior, when writing about how RSpec and Rcov get along. Now I need to figure out how to write about that more coherently. Actually, I need to decide if I'm going to acknowledge RSpec 1 at all.

The book is still on sale, of course. I've gotten nice feedback so far, but not much of it, I'd love to hear from you. And if you like the book, and wanted to tell your friends, or the Internet at large, that'd be great, tool. (Oh, look, I'm turning into that guy...)


Rebecca Murphey has written "JQuery Fundamentals" a new Creative Commons book on JQuery. Looks useful, though I'd also love it if an epub version was made available. I bet I'll be referring here a bunch, though.

Looks like there will be a JavaScript native implementation of LessCS. Interesting. I'm still wondering how the Less/Sass thing plays out.

The previous two links are via Larkware's Daily Shots.

Here's a big chunk of code from Brian Cardarella that allows you to do user-selected subdomains using the Rails 3 router.

Via Everyday Rails, here's, which generates a Rails template for you, after you select some parameters. Pretty neat. I'd imagine it'll grow more parameters over time.

I think the lesson of this article by Patrick McKenzie about human names is that no matter how far you go in creating a database schema, there's always somebody who will go farther.

The Phusion team continues to tease about the impending awesomeness of Passenger 3.

Thoughtbot, in the person of Nick Quarantino, has a crazy detailed post on using Hudson for continuous integration with RVM. I'm going to go out on a limb and say this could be made easier.

I don't read the Japanese, but supposedly Matz is blogging about possible Ruby 2.0 features. If I'm interpreting this correctly, it looks like Python-style double-splats are in play, which I'd like. ("Python Style Double Splats" is the name of my new Eric Idle cover band. Sorry.)

June 18, 2010: Links Ahoy

Monopoly, MySql, Ruby, rvmNoel RappinComment
I think a link post today...

Book Status

Still working on the style section, for some reason it's going grindingly slow. The plan for beta 4 is the new style chapter, probably the legacy coding chapter. Also on the slate is updating the sample app to use Devise, which had a large constituency when I floated the idea the other day.

Oh, and I haven't had the link up in a while. Buy the book here.


Jim Neath at the Purify blog has five plugins to help optimize MySql queries in your app. Cool.

Gregory Brown has an update on the Ruby Mendicant University.

This has nothing to do with Ruby. It's what is believed to be the shortest theoretically possible game of monopoly...

I feel like if I get the hang of RVM, Gemsets, and Bundler, then my life will be a lot easier. This post from Brian Cardarella seems like a good start.

And Jeremy McAnally has a short gem that lets you specify that some tests should be skipped un some environments.