The story behind Rails at O'Reilly

Jason Fried from 37signals talks about the origins of Rails with Marc Hedlund from O’Reilly:

Ruby on Rails is the open source web application framework we extracted from Basecamp. When we built Basecamp we didn’t know we were building Rails at the same time, but that’s exactly how it happened. Basecamp came first; Rails was born from Basecamp. Basecamp was the divine chicken, Rails was the egg.

I had some natural hesitation about using Ruby at first (“What the #@!* is Ruby?”“Why don’t we just use PHP—it served us well before?”), but David cogently made the case and I bought it. I’m thrilled with the results.

I’m sure a few of the readers here are thankful that Jason decided to trust yours truly and bet on Ruby :)

Rails developer with Java chops wanted

Jason Wong from ionami in San Francisco wants to hire a Rails developer with Java chops to help him through the transition from Java to Ruby on Rails:

ionami is looking for one part time (20 hrs/week) with a migration to full time work, for a maintenance and development position. Here’s the catch. You have to know Java really well, and know your way around Oracle. Additionally, XML, XSLT, and JS would be helpful. Our client is expanding, and the work is heavy Java, but I’m also migrating the rest of our shop work to Ruby on Rails, where possible. We just acquired our first Fortune 500 Rails customer. So if you have Java chops, and want to do Rails work, send a resume to jobs at ionami dot com.

Swiss InfoWeek looking for Rails writers

Editor Andreas Ahlenstorf would like to print an article on Rails in the Swiss IT magazine InfoWeek:

I’m looking for somebody who would like to write an article about
Ruby on Rails for the swiss IT magazine InfoWeek, best one of Rails’
core developers :). The article must be written in german, so it
would be helpful if it’s somebody from Switzerland, Germany or even
Austria. Do you know one person in your team who’s predestinated to
do that?

Do you know Rails? And can write a readable German? Then get in contact with Andreas right away and help him increase the awareness of Ruby on Rails in Switzerland.

Collective Prose: Picture a coffee shop..

Vinu Murugesan just launched a Collective Prose. A pretty interesting application for experimenting with collaborative writing:

Collective Prose is a place “where you can share your thoughts, learn new things, tell stories, and share insight.” Anyone can share their thoughts by writing posts. Collective Prose uses tags to categorize these posts which makes finding related content easy. Also, people can save posts they find interesting so that they may get back to them later

Murugesan did Collective Prose with Ruby on Rails and tells his story in Building Web applications intelligently.

Let's Ajax, baby!

Just a heads-up. Honey, the next application from 37signals, is using a lot of Ajax techniques to get a spiffy and responsive interface. I’m already well underway in the process of refining the techniques and they’re just about ripe for extraction into Rails. Before Rails go 1.0, it’ll be the framework with the easiest support for Ajax on the block.

The power of readable metaprogramming

Oliver Steele is Chief Software Architect at Laszlo Systems and he’s digging into Ruby on Rails:

During my last vacation it took about five lazy vacation days with Ruby on Rails to implement a fairly sophisticated 40-page web application with five models, two metamodels, CRUD, cookies, image upload, and login. (I’ll write more about the application itself, if I find a few free weekends to harden it for public use.) For comparison, it took me about the same amount of time during my previous vacation to write a much simpler ten-page PHP web application that had only one model. And I already knew a little bit of PHP, whereas I was learning Ruby and Rails from scratch.

He explains how much of this productivity stems from the fact that “…Ruby is one of the rare languages with a readable embedded syntax for metaprogramming”, which in turn “…lets the library user write in a concise domain-specific language that embeds Ruby”. The unique power that gives us Associations and Validations.

I’m really glad that Oliver looked into Rails because that has in turn lead me to really dig into Lazlo. It looks pretty darn neat! I’d definitely love to see someone do a Rails backend with a Lazlo frontend.

Picking platforms based on performance

Chris Petrilli talks about the delusions of grandeur that lots of programmers indulge in when they pick an environment based on performance concerns:

Write in whatever language you feel most comfortable and productive in. I know quite a few Python (either Zope or SkunkWeb) based websites that are running millions of hits per day. That puts them in the top 1%. Your site isn’t like that. If you think it is, you’re wrong. Maybe someday it might be, but deal with it then.

Couldn’t agree more. For almost a year, Basecamp was served well by a single, if beefy, server running web, application, and database services. We’ve just recently moved beyond that — after success was achieved. There’s no reason to gold platen a possible flop.

Tobias updates Hieraki, Typo, and more

Tobias Luekte has been a busy bee lately. In his week worth of updates, he writes about updating Hieraki and Typo to Rails 0.10 and a bunch of goodies for both in the wake of that. Additionally, he has a new scaffold generator using the postback approach and updates to both Money and the login generator. Way to go, Tobi! Keep it coming.

Want to learn how to Rail like a pro? Consider hiring Tobias to show you the ropes. He’s offering his services.

Ease of development, speed of execution, pick two

Justin Gehtland has been working on an application using the Java/Spring/Hibernate/JSTL stack for about 5 months. He started redoing it in Rails as an experiment and found something surprising:

I’ve been able to re-implement 80% of the functionality in just under four nights of work. Some of that most assuredly has to do with the fact that I understand the domain pretty thoroughly by this point. But a lot of it has to do with the sheer productivity of the framework.

He attributes this to convention over configuration, and how the “…configure, compile, deploy, reset cycle for running tests is time consuming on my original stack, and non-existent with Rails”. But all that is just the familiar tune on “ease of development”. Here’s the real kicker:

Rails is actually faster.

At runtime, the Rails implementation is at least as fast as the original stack in almost every case, and for a not-insignificant portion of actions, actually performs better. I haven’t run benchmarks yet, but I will as this effort progresses, but I was shocked (shocked, I say) to discover this.

Justin is the co-author of Better, Faster, Lighter Java and Spring: A Developer’s Notebook.

Welcome on over, Justin! I can’t wait to read more about your adventures with Rails. And best of luck convincing your customer to dump the 5-month effort in favor of your 4-night rewrite. I’ll be cheering for you.