Lessons Learned while building omroep.nl

ReR09 – Bart Zonneveld & Sjoerd Tieleman from Interbureau Holder on Vimeo.

Request-log-analyzer in the Rails Envy Podcast

Request-log-analyzer got mentioned in the Rails Envy Podcast! Awesome to be featured in the same show as MacRuby, Formtastic and Yehuda Katz.

Listen to the podcast here: http://railsenvy.com/2009/11/20/episode-101

Rails doesn’t scale?

Apparently it does :).

Capturing a form cancel

Via http://rubypond.com/articles/2009/02/06/capturing-a-form-cancel/

class ApplicationController < ActionController::Base
  before_filter :catch_cancel, :update => [:create, :update, :destroy]
  after_filter :set_referrer, :only => [:index, :show]

  private
    def set_referrer
      session[:referrer] = url_for(params)
    end

    def catch_cancel
      redirect_to session[:referrer] if params[:commit] == "Cancel"
    end
end

Ruby en Rails 2009 presentation

At the 2009 Ruby en Rails conf me and Sjoerd Tieleman gave a presentation about all the lessons learned while building Omroep.nl. That’s the biggest portal for everything related to public tv and radio in the Netherlands.

With 2 programmers in a team of 6, we delivered the site in 6 months. It’s pulling 50.000 pageviews a day without any problems at all.

View the slides on Slideshare here: http://www.slideshare.net/tieleman/lessons-learned-while-building-omroepnl

Our multi-threaded Cucumber scenario runner called Salad can be found at http://github.com/tieleman/salad

If the lovely folks at Holder update their site, I’ll post the videos of our talk too.

Introducing DJ Stats, Delayed::Job realtime statistics

After seeing the Github guys release Resque, I wanted the same monitoring functionality for Delayed Job. So, DJ Stats
was born. It hooks into the lifecycle of a Delayed::Job, and reports data back to DJ Stats.

The whole thingie consists of 2 projects, an aggregator and a reporter.
Install the reporter in sites which use Delayed::Job with:

./script/plugin install git://github.com/bartzon/dj_stats_reporter.git

Add a config/dj_stats.yml with the following content:

  dj_stats:
    application_name: Name of your app
    stats_url: url to the aggregator

Then clone the aggregator with:

git clone git://github.com/bartzon/dj_stats.git

Have fun!

Request-log-analyzer now with MySQL slow queries support

Some time ago, I needed to parse some slow query logs from MySQL. Since I couldn’t find any decent solutions out there, I decided to hack my own formatter in the awesome Request-log-analyzer bij the Railsdoctors.

They recently included my formatter in the 1.5 version of R-L-A, so it’s just a matter of:

gem install request-log-analyzer

Visit r-l-a on github: http://github.com/wvanbergen/request-log-analyzer

View my formatter directly: http://github.com/wvanbergen/request-log-analyzer/blob/master/lib/request_log_analyzer/file_format/mysql.rb