Rhino on Rails — cover art: a contented storybook rhinoceros riding atop a small Victorian narrow-gauge steam train, the locomotive ahead puffing soft white steam, the rails curving through a sunlit meadow.

2007 · Stevey's Blog Rants · Announcement

“Apparently getting John Lam'd is worse than getting Slashdotted.”
— From Rhino on Rails, June 2007
Read the essay

© 2007 Steve Yegge. Originally published at Stevey's Blog Rants.

AI Notes

The announcement everyone came for occupies maybe a third of this essay. The rest is Steve, two years into his Google tenure, explaining why the place works: the four-language fence, the mandatory design docs, the ease of switching teams, the 20% culture that had Rhino's original author Norris Boyd (newly a Googler himself) helping modernize his own old engine. The affection is so unguarded — he compares himself to a teenager golfing free at a rich uncle's country club, and works in two separate send-me-your-resume asides — that the piece doubles as a recruiting flyer, and reads now as a snapshot of what Google looked like from inside in 2007. When the technical case arrives it is specific and still instructive: Java couldn't stomach Rails' hash-literal APIs, Jython had been coasting since 2001, and Rhino turned out to be a far more serious piece of engineering than its reputation suggested. Ruby itself gets a slapstick cameo, snuffling up to Google's electrified playground fence, hair standing on end.

Practitioners will want the porting details: no code generator, just Emacs keyboard macros, and an attempt to work from the Pickaxe book's description of Rails abandoned once Steve concluded that "Rails is its own most succinct implementation." The bet underneath — JavaScript as a serious server-side language — looked eccentric in June 2007; within five years it was orthodoxy, which makes this a better prediction than it was an announcement. He closes by promising a status update in exactly one year, deadpan guaranteeing that nothing newsworthy will happen to the framework in the meantime, then signs off teasing an entirely separate secret: a home project he will only call "NBE."

Related listings

Press & impact

The talk that triggered all this was improvised; the reaction was not. John Lam blogged Steve's Foo Camp aside, the trade press picked it up within days, and "Google ports Rails to JavaScript" ran through the Ruby and Java blogs for the better part of a week. A second wave of interviews followed in early 2008. The project itself never shipped publicly — which is its own long tail: the trail below ends with the community, three years on, asking where it went.

The 2007 reaction

The Foo Camp report that started the inbox crush, and the trade-press cycle that followed it over the last week of June.

2007-06 Steve Yegge ported Rails to JavaScript John Lam on Software

The Foo Camp write-up the essay opens by blaming — "getting John Lam'd is worse than getting Slashdotted." The original iunknown.com post is gone; this is the Wayback copy.

2007-06 Steve Yegge Ports Rails to Javascript/Rhino InfoQ

The news write-up of the announcement, situating it against earlier server-side-JS Rails clones (TrimPath Junction, Phobos, Helma).

2007-06-25 Google Bites Thumb at Ruby; Ports Rails to JavaScript Ruby Inside · Peter Cooper

The Ruby community's read on Google routing around Ruby rather than adopting it.

2007-06-27 Rhino on Rails rc3.org · Rafe Colburn

Follow-ups and long tail

A second round of interviews in early 2008, and — three years on — the community noticing the port never saw a public release.

2008-02 Further Insights into Rhino on Rails InfoQ

An interview revisiting the port eight months later, with Steve calling it "a transitional thing."

2008-02 Interview with Steve Yegge on Rhino on Rails and more Google Developers Blog · Dion Almaer

A video interview taking in Rhino on Rails, dynamic languages, and the JVM.

2010-02-06 Ask HN: What became of Steve Yegge's "Rhino on Rails"? Hacker News

Three years on, the project still unreleased, the community asks where it went.