Rails for Zombies

This morning my team over at Envy Labs released a free online tutorial called Rails for Zombies. The website combines screencasts with in-browser coding to provide an interactive learning experience teaching the basics of Ruby on Rails.

Rails for Zombies

Learning Rails for the first time should be fun, and Rails for Zombies allows you to get your feet wet without any setup or configuration. At the moment the application has five episodes. Each episode consists of a single screencast followed by a group of exercises which must be completed before moving forward. Once you complete all the labs, you unlock a hidden video which shows you where to go to continue your Rails learning.

If you have any friends who need to get started with Rails, hopefully this will help.

Rails (and family) on Lighthouse

Lighthouse “version 2” deployed yesterday, so I’m officially opening the Rails Lighthouse tracker up for business. Other spinoff projects such as Prototype and Capistrano have already made the switch. As David has mentioned, this means the current trac instance is deprecated. It will continue to stay in use for now until everyone has transitioned to Lighthouse.

We’re still figuring out the new workflow with git, Github, and Lighthouse. I’ll be working with the Logical Awesome folks to improve the Lighthouse/Github relationship. I’m also working with Tim Pope (author of the awesome git-trac tool) and others in #rails-contrib on bringing the same development tools to the new git infrastructure. Tim also wrote some best practices for contributing to Rails from git.

Passenger (mod_rails for Apache) launches

The guys at Phusion has finally wrapped up Passenger, their mod_rails-like module for Apache. It’s looking like a great, easy solution for people who want a more PHP-like deployment story. Just dump your files in a directory setup with a vhost and off you go. Touch tmp/restart.txt and the application is restarted. Doesn’t get much simpler than that.

sMoney.EU

The Czech Rails shop Skvělý.CZ has just announced the release of sMoney.EU, a free expense tracking application written in (of course) Ruby on Rails. It sports translations for several languages, too, and joins the growing ranks of Rails applications with localized interfaces. Great job, Robert and team!

The Summer of Hack, 2007

The hackfest is back! In sleek new form, the ’fest runs monthly, starting now.

Without further ado: it’s on. Two weeks to go. Sprint!

Thanks to Working With Rails for making this an integral part of their site; thanks to O’Reilly for signing on as the first sponsor (first prize is a free pass to RailsConf Europe); and thanks to you for contributing the patches and bugfixes that keep Rails at the top of its game.

Go, go!

Rails Application featured on Good Morning America

Former AOL CEO Steve Case recently appeared on Good Morning America to talk about his new venture Revolution Health, a new health site built on Rails. Think next generation WebMD.

The Revolution Health team has been blogging their progress over at Revolution On Rails. InfoQ recently conducted an interview with the developers that discusses, among other things, their PluGems (it’s a plugin! it’s a gem!!) approach to sharing code across the multiple applications that make up Revolution Health.

Hackfest 2007 and CD Baby sprint

Ah, Portland. The open-source motherland. Pacific springtime beauty. RailsConf ’07 nirvana.rb # => true and home of CD Baby, a little record store that digs Ruby and Rails.

We’re gearing up for a RailsConf hackfest at the Jupiter hotel just down the street and figured, heck, let’s start now! The top twenty Rails contributors between the new year and conference registration opening day will have a free conf pass and a room at the Jupiter specially reserved, CD Baby’s treat.

No kidding. Registration opens in a matter of weeks. Sprint!

Rails contribution is measured by real Trac activity weighted in favor of well-tested, committed patches but also accounts for new tickets and even comments. We’re joining forces with Working With Rails to track Rails contributions from the new year onward. To be included, mark yourself as a core contributor and give your Trac username in your account profile.

Have a Rails itch you’ve longed to scratch? Now’s the time! Happy hacking, and see you at RailsConf.

Update: Derek @ CD Baby’s announcement with more details.

Update: I announced contest close on the opening day of registration but Derek announced an earlier deadline on January 22nd. Sorry for the confusion! To draw a reasonable compromise, the contest closes tonight, January 24th, at midnight PST. (That’s 2007-01-25 08:00:00 UTC.) After the contest closes, we’ll continue scoring the backlog of patches submitted before the deadline then announce the winners this weekend.

So far, 258 participants have opened 443 tickets, submitted 501 patches, and made 2976 changes. Congratulations! And the leaderboard’s still tight with 17 hours to go..

Update: the contest has closed. The winners are..

MenuTree helps you find food fast

MenuTree is a new Rails application that seeks to make the search for new take-out places a more enjoyable experience. They just launched, so do help fill up the options in your area.

New Rails app: MOG.com

You may have seen MOG mentioned on BoingBoing or elsewhere earlier this week. It's the new social networking site that lets music lovers connect based on what they're into, keep a blog about their musical discoveries, and find new things to appreciate based on their friends' recommendations. It even has this MOG-O-MATIC plugin for iTunes so that it can figure out what you listen to without you having to tell it. Even if you don't have your music tagged.

That's all pretty cool, but for the readers of this blog, the really cool part is that MOG is written entirely in Ruby on Rails. The MOG software is the creation of Lucas Carlson, Dave Fayram, and Joshua Sierles. It's a nice piece of work, serving up 1.5M requests per day using Pound, Mongrel and memcached, and they are still tuning it for performance. The app also includes an XML-RPC interface used by the plugin (though Dave says now he thinks REST might have been a better way to go).

So tune your internet dial to mog.com and take a listen...

Shopify is open for business

We’re lagging the official announcement by a fair margin, but that won’t hold back our official word of congratulations for Jaded Pixel as they’ve launched Shopify. It’s instant-on stores that don’t smell like a candy bar left in your pocket in the mid-90’ies. Complete with its own templating engine, Shopify makes it silly easy to create great looking stores that doesn’t just follow a cookie-cutter format.

In Rails circles, Jaded Pixel is mostly known as the company starring Rails Core developer Tobias Lütke. The team has already been sharing a great many extractions from the work of Shopify. So if you’ve played with the template engine Liquid or installed the forum-system Opinion, you’ve been touched by Shopify (now isn’t that heart warming!).

Once again, major props to Tobi and crew for finally delivering on this massive undertaking.

New Rails App: RightCart.com

Back in January I took the Pragmatic Rails Studio along with some guys named Dylan Stamat and Jonathan Siegel. Earlier this week they announced a brand new internet application: RightCart.com. By the way, the two of them wrote it in Ruby on Rails in just six weeks!

RightCart logo

RightCart is "Shopping 2.0". It lets you embed a shopping cart on any web page with just three lines of HTML and JavaScript. The RightCart service manages your customer's shopping cart contents for you, so integrating shopping capabilities into your website is trivial. They take care of everything from your catalog to payment processing. You can sell your own stuff and pay them a small percentage. You can also sell stuff from a shared catalog (with over a million items already) and get a 1% commission on the sale.

And like all good Web 2.0 companies, RightCart has a blog (State of the Cart) to share news about their business and services.

Congratulations to Dylan and Jonathan on their product launch!

Guide: Environments in Rails 1.1

As mentioned last week, Kevin Clark is taking your suggestions and developing weekly guides that cover the ins and outs of Rails.

He’s delivered on his first guide: Environments in Rails 1.1. The accompaying Cheat Sheet is particularly noteworthy. It lists all the various configuration options available to you, with a brief description of the purpose they serve.

To have your say on what Kevin covers next, send him your suggestion at kevin dot clark at gmail dot com with [idea] in the subject.

Fluxiom has launched


The wait is over for the next killer Rails application. Fluxiom has launched! Digital asset management just got a lot sexier.

You may have seen its demo video which has been floating around since last December. Developed by wollzelle with none other than Thomas Fuchs, aka Mr. Scriptaculous, at the helm, it brings a native desktop app feel to your web browser. Those building Rails applications these days may be familiar with all the swanky effects Thomas has been putting together. Turns out he’s had a few tricks up his sleeve. Fluxiom not only helps collect, manage and access your assets, it does it with style.

Fluxiom provides four subscription levels, all of which offer a free 30 day trial. You can check out the video and then head over to the sign up page.

We await a bevy of great extractions Thomas ;)

i5labs pushing the limits of Rails

In November, PlanetMoon launched Infected, a first-person shooter game for Playstation Portable. The PSP game has two-pieces, one, the actual PSP game (which is C++), and a statistics reporting tool (how many kills did you get, how many people did you infect, where in the world are they). Any time someone wants to grab their stats, it kicks in the PSP Web Browser, which points to a Ruby on Rails server. The team behind this is Jason Wong’s i5labs. Jason blogs about some of the challenges of working within the constraints of PSP console.

i5labs also just finished a Zubio chair massage kiosk at the San Francisco Shopping Center. You schedule 10 or 20 minute massage sessions using a touchscreen, then swipe your credit card. The touchscreen system is implemented with Rails. Jason shares details of the code and hardware.

i5labs is also looking to hire a part time Ruby on Rails developer (who could eventually go full time). If you’re interested drop them a note at jobs@i5labs.com.

We’ve seen the limits of Rails pushed before, when Mike Clark and James Duncan Davidson mixed Rails with Cocoa with VitalSource. Anyone else using Rails outside of the traditional web context?

Campfire: Web-based chatting on Rails

Campfire by 37signals has launched. It’s web-based group chat for business where file transfers work reliably and where you have shared access to the logs.

It’s also dripping with delicious Ajax, courtesy of Prototype maestro Sam Stephenson, who joined 37signals in December along with Marcel Molina. So go check it out. More details about the launch on Loud Thinking and 37signals.

Street Easy: Look at all the New York places you can't afford!

Street Easy is a sweet new mash-up of Google Maps that’s running Ruby on Rails to mock you for all the places in New York you can’t afford to buy. Yet. Before you’ve launched your Web 2.0 mash-up and sold it to Yahoo. Wait a minute. It’s RECURSIVE!

Kidding aside, this is a very nice looking site done by Sebastian Delmont and friends. Check it out.

Just in time for the holiday season, the Peace Library

The Peace Library is an online index of Conflict Transformation & Peacebuilding information featuring research papers, reports, and news related to the Sri Lanka peace process put together by the non-profit web media company InfoShare.

It’s in “beta” but already features 207 publications wrapped in an attractive interface. Read more about them here.

Yet another nice app riding the Rails.

Penny Arcade is serving up the funny from Rails

Penny Arcade has been a personal long-time favorite, so I’m delighted to hear that their latest redesign features a backend that’s entirely done in Rails. Woop. Gabe, who’s obviously not the programmer behind the engine, writes:

Along with the slick new visuals the guts of the site also got a huge upgrade. Penny Arcade right now represents one of the largest implementations of “rails” on the intertron. I went and looked at a website about rails and then I got a headache. From what I gathered it’s either some kind of cutting edge programming language, or a way to liquefy a man’s brain inside his skull. I’m told that it means the site looks better and loads faster regardless of whatever hippy web browser you decide to use. Fuck M$!

Thomas Fuchs shows off Fluxiom

So know we know what all that sexy script.aculo.us was been grown for! Thomas Fuchs has unveiled a taste of Fluxiom. It’s an asset manager that looks especially nice for keeping track of stock images, reusable graphics, and everything else that makes a creative firm spin. Very cool looking and decidedly sexy. Oh, and of course all powered by Rails.

Play and help llor.nu

Michael Buffington has just opened up llor.nu for general consumption. It’s an open source board game built on Rails. Besides the hosted version, you can download the source and Michael is looking for merry contributors as well. Check it out.

EPSON chooses Rails for developer site

Jason Wong of ionami has announced that they’ve just launched epsondevelopers.com for EPSON on a Rails platform:

ionami has been working with EPSON for over 3 years. While we created the original EPSON Developers site in Java, they were surprisingly open to a switch. We sold them on maintainability, speed, and the lower overall cost. We took the opportunity to do a redesign, and move the original, public site to Rails for ease of management.

That’s great news! Landing EPSON with Rails development is definitely a great step in that elusive “corporate” direction. At the same time, ionami has announced they’re going to do all future developments using Ruby on Rails. They’re officially a “Rails Shop” now.

Odeo launched to the public

Odeo is a portal for finding, syncing, and creating podcasts. It’s might neat and of course it’s mighty Rails. Congratulations to the team for finally making the jump into the public limelight.

Having a portal like this is exactly the final nudge that we needed to get Scott Barron to kick off his forth coming podcasting show about Rails.

43places: Where do you want to go?

The Robot Co-op follows up on 43things with 43places that narrows the scope from goal to destination. Record where you want to go, meet others with the same destination in mind, and read stories from people who’ve been. It’s a great idea. And a great follow-up to 43things. Congratulations on the launch. Now, what to do in Hawaii?

ODEO is trickling out the launch

ODEO is the upcoming premier portal for podcasting shows. Whether you just want to find and listen or whether you want to create and distribute. Phillip Torrone has a mini-review up on O’Reilly’s Make magazine. Why is this Rails news? Because ODEO is a Rails application, of course!

Learn Portuguese from a Rails application

Tim Case has recently launched theVerbalizer. It’s a learning tool for getting into Portuguese using a method of remembering verbs as the prime driver. Very cool stuff. Especially so for me as I’ll be going to Brazil next week for the International Free Software Forum to present about Ruby on Rails.

Backpack brings Ajax into Rails

Backpack is the third application from 37signals that’s now available online. Just like Basecamp came birth to Rails itself, Ta-da drove great features like caching, Backpack has been the main driver for a lot of interesting developments in Rails. Most visibly is the incredibly strong support for Ajax interfaces that Rails now sports.

The innerHTML approach with server-side fragment rendering was developed specifically for Backpack and has now been extracted for general use in Rails. It’s joyful to see that the Ajax integration in Rails has caught the interest of so many developers and 37signals is especially thankful for the work of people like Sam Stephenson, Thomas Fuchs, Sean Treadway, and others.

Over the coming weeks, we’ll be taking advantage of even more of the Ajax innovation happening in Rails, such as the upload progress indicator and the Google Suggest-style searching. In the meanwhile, do checkout Backpack as the currently best example of the wonders of Ajax in Rails.

Typo 2.0 is out in force

It took me a week, but dammit, I’ll trout the horn of fanfare none the less: Typo 2.0 is out! Typo is that little weblogging engine that Tobias started while he was waiting for a client in a coffee shop, but which has now attracted an entire team around it. And boy, is it ever looking great!

It seems that I’m out of excuses for still running this blog on WordPress. I can’t wait to port it over to Typo within the foreseeable future.

RForum 0.1 sees the light of day

RForum is one of the earliest open source applications based on Rails, but it has only just reached a state where the authors Andreas Schwarz and Alexey Verkhovsky were willing to share with the world. Hence, the release of RForum 0.1.

Congratulations on the release. With the project out in the open, we’ll hopefully more rapid improvement towards a 1.0 release.

Instiki 0.10.0 comes on the Rails

Alexey Verkhovsky has completed the transition of Instiki to a Rails-based core that uses the latest versions of all the framework instead of the ‘03 dialects it was currently running. Instiki is still powered by Madeleine, though. Which means that it’ll be some time yet before you can run Instiki on Apache or lighttpd directly as a move to Active Record or a separate Madeleine process is needed for that to happen.

The new version should be a lot more approachable for Rails hackers, though. And its also a pretty good case of how to use Rails with something else than a database backend. Dig in!

Snippets meets tagging

Peter Cooper has just launched Snippets. It’s a paste site that injects the wonderful idea of tagging into the mix. Peter announced it with:

Less than two days ago I had an idea. I come across lots of useful snippets of code for the command line, Perl, Ruby, HTML, CSS, whatever, and store them in a big text file. This was hard to organize, so I figured it’d make sense to store them in a del.icio.us style tagged system.

So off I set, and some 28 hours later (including sleep), the system is launched! Welcome to Snippets. Enjoy. More proof of the power of Rails!

Production Log Analyzer: Find slow pages

Eric Hodel has released the Production Log Analyzer:

The Production Analyzer lets you find out which pages on your site are dragging you down. pl_analyze requires the use of SyslogLogger (included) because the default Logger doesn’t give any way to associate lines logged to a request.

Hodel and crew used this to locate slow running pages in 43 Things. You can learn more at at PLA site.

eXPlain Project Management Tool

eXtreme Programming and Ruby on Rails is a wonderful fit. Besides the most excellent support for test-driven development, XP works a whole lot better when your code base is so small that breakthroughs in knowledge about the domain can be executed in as few refactorings as possible.

But if you want to get into XP, you naturally also have to get into the planning game. And that’s where the newly released eXPlain Project Management Tool by John Wilger (with help from Jim Weirich and Quentin Baker) comes in. Through a simple interface, you can manage stories, iterations, and milestones.

Wilger and friends even had the good sense to put up a demo application (admin/adminadmin) for you to try out.

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.

Scratch: The minimalist's weblog

Scratch is a very interesting weblog package by Scott Barron (and with help from Sam Stephenson) that shuns any HTML interface:

Scratch is the minimalist’s web log. Scratch gives you nothing more than the meta-weblog API for posting. Reading is done via Atom or RSS. That’s it. There’s no HTML to hack up. You don’t have to use the same, tired old web log template that everyone else is using. Break out of that blue, rounded rectangle! Be original! Thumb your nose at those primitive apes still using the web! Use Scratch! Scratch can also serve as a framework for developing your own weblog package, if that’s the way you roll.

Scratch is available as a gem (just gem install scratch) and the source from SVN (it uses the new Action Web Service framework).

Odeo is launching on Rails

Evan Williams (of Blogger fame) and friends have unveiled their latest venture: Odeo. It’s going to make “…it easy for you to discover, create, and subscribe to fresh, independent audio content for your iPod”. In short, Portal for Podcasting. That hook got the interest of The New York Times, but to get the full story, you’ll be well advised to read Evan’s blog posting about it and the Odeo blog in general.

I had a sneak peak at the application a few days ago and it looks mighty cool. I’m a big fan of podcasting myself (especially from the ever excellent ITConversations), so the prospect of Odeo makes me pretty excited.

What also makes me excited is Odeo running Ruby on Rails. Remember that posting Evhead advertises for a Rails developer back in the beginning of December? That resulted in the hiring of Rabble as the lead developer on Odeo. He talks about the Odeo launch and how they “…built it with the wonderful Ruby on Rails framework” in his blog.

So congratulations, guys! It’s great to see another high-profile site launch on Rails and loving it. Keep ’em coming.

Future Mail: Email yourself tomorrow!

Ben Sinclair has launched a pretty cool little application called FutureMail to email yourself at some specified time in the future to remind you about stuff. For people who use their inbox as a task scheduler, this is a great idea.

Florian Weber launches bellybutton.de

Hot on the heels of Snowdevil, Florian Weber has completed the work to relaunch German e-tailer of pregnancy.. uhm stuff.. bellybutton. The shop is part a CMS for the company behind it to manage the content on the site and part a e-commerce operation to take and process orders. And it’s very nicely designed too!

In addition to the launch, Florian has written a short retrospect of the project. He talks about not optimizing too soon, using a strong domain model, and having Damage Control do continuos integration.

The completion of bellybutton should also herald Florian’s return to active Rails development. Florian had a lot of interesting developments going in Rails before bellybutton kidnapped him for three months. We’re eagerly awaiting his return.

Snowdevil: First e-tailer on Rails

I’m proud to announce the launch of the first e-tailer to go life with Rails Inside: Snowdevil. Especially so because the team behind it has core contributor Tobias Luekte at the technical wheel and because the site just looks cool and sells something as cool as snowboards.

It took Tobias and crew just under four months to produce the application that KLOCs in at around 6. In addition to the launch of Snowdevil, the team is looking to extract a platform for creating shops quicker with Rails. So if you’re looking into starting a shop project on Rails, you should have a chat with Tobias and see if that’s a platform that might be right for you.

Tobias posted a post-launch announcement on his blog (also powered by Rails) where he attributes the success of the project to Ruby on Rails and their TDD/XP practices. The flattering bit about Rails:

I consider the unveiling of Rails as one of the biggest jumps in productivity the computer industry has seen since it moved from assembler to high level languages. This is the time where small businesses can compete or outperform big businesses just because of better tools. You need to be as efficient as a team? No problem! By the end of the year most companies worth a damn will use Rails or a clone of it. Be ahead of the curve.

Tobias, who is also known as xal on IRC, is certainly doing his part to further Rails as well. If you look through the changelogs, you’ll notice just how busy he has been over the past couple of months bringing the framework further.

So. Do shop your next snowboard at Snowdevil. Do talk to Tobias and crew if you’re looking to get a jumpstart on your Rails-powered shop or e-commerce project.

Make your Ta-da list today

Todo lists have long been one of the favorite features in Basecamp, so we thought it would be a nice experiment to share that particular feature with the world at large. Free of charge. And Ta-da List was born!

A few user-oriented highlights of Ta-da:

  • Extensive use of XMLHttpRequest: Adding new items and checking them on and off are done with remote calls that change their state in the database while simultaneously updating the view using Javascript. This makes it really, really fast to add new items to a list — and you’re not restricted by the 10 predefined fields that most apps like this does.
  • Loose sharing with unique URLs: Sharing a list with a single or group of buddies is easier than ever as there is no password to remember. Instead, everyone just gets a unique URL that they can bookmark right away. At 32 characters and as a MD5 hash, it’s plenty of security for this type of application and much easier to use.
  • Collecting all the shares: By allowing you to share any list with any email address, we already got the viral thing going. The barrier of signing up has been postponed until you’re hooked, and once you are, you automatically collect all the shares as you signup. This means that they’re all available from your dashboard and you can reduce the bookmarked lists down to one URL.

And for the technically inclined:

  • Three levels of caching: I implemented page, action, and fragment caching for the Action Pack in Rails so I could be able to use it in Ta-da. And it’s working exceedingly well. Lots of pages went from 50-70 req/sec to 400-1100 req/sec due to caching.
  • 579 lines of code: That’s including models, controllers, and helpers. It’s really lean and really readable too. It was great to see just how small you can make an application with a recent version of Rails (especially the 0.9.x series) on a fresh code base. In Basecamp, I’m often working on code that predates the release of Rails, so it’s a nice change of scenery.
  • Finally FastCGI: Basecamp is still running mod_ruby for various reasons, but Ta-da is fresh out the gate on FastCGI. And what a difference it makes in memory consumption! We’re currently running five FCGI processes (which is more than plenty) that come in at about 15MB a piece. On top of that, we got 50 Apache processes at just around 3.5MB a piece. That’s just 250MB for the entire setup. Much unlike the situation on Basecamp where we have 40-60 Apache processes of 40MB a piece.

In addition, it seems we’re off to a flying start as we blew through 1,000 people signed up in just a matter of hours! And it’s getting blogged all over the place. Justin French has a really nice post about how he switched his workflow over. And Tobias Luetke already whipped up a script to integrate Ta-da into your site using Ruby.

S5 Presents competes with SoapBX

This is funny. With SoapBX barely out the gates, Lucas Carlson has already launched a competitor with S5 Presents that does themes and is open source. He even claims to have done it in half the time of Pelle:

S5 Presents was written in under 10 hours and 500 lines of code using the fantastic Ruby on Rails framework.

So now you have two options for your online presentation needs. Cool stuff!

SoapBX: Presentations powered by S5, Textile, Rails

Pelle Braendgaard just launched and announced a new free Rails service entitled SoapBX that let’s you use a combination of Textile and S5 to forget about Powerpoint and Keynote:

About the development of SoapBX using Rails, Pelle writes:

I got an idea less than two weeks ago and now as a testament to the
power of Rails I have released the first initial beta version of
SoapBx, with less than 20 hours of programming involved so far.

Congratulations on the launch, Pelle!