Archive for the ‘Ruby on Rails’ Category

Automagically tagging releases in github

(update: now available as a gem for capistrano)

Today at work we were discussing branching and tagging etc. to keep track of the currently deployed release on various servers. We’re working with Capistrano to do deploys.

This is a script I came up with:

Edit: refactored some errors out of it

Ralf: S3 logfile downloader and merger

Today we released a new gem called Ralf, it stands for Retreive Amazon LogFiles

Download the gem at or browse the source at



  • An S3 account (duh)
  • Enable logging on S3 (use cyberduck for example)


r = => '/my/config.yaml', :date => '2010-02-01')

Or run it in one go: => '/my/config.yaml', :date => '2010-02-01')


:config   a YAML config file, if none given it tries to open /etc/ralf.yaml or ~/.ralf.yaml
:date     the date to parse

:aws_access_key_id      (required in config)
:aws_secret_access_key  (required in config)
:out_path               (required in config)
:out_prefix             (optional, defaults to 's3_combined') Prefix the output file

You can ommit a configuration file when you supply the required parameters :aws_access_key_id_, :aws_secret_access_key and :out_path
They take precedence over the config file


  • There is no logrotation as we know it like on regular unix machines

More info: S3 Server Access Logging


  • CLI executable
  • Grouping/combinig on week/month


This plugin is created for for processing the logfiles generated by S3.

Authors: Leon Berenschot and K.J. Wierenga

Sending prawn documents with ActionMailer

Problem: How to send a prawn pdf wich normally is generated by a controller.

and keeping it DRY

Required: Prawn & prawnto


RER2009 Rumble

We (@kjw and @leipeleon) participated in the RubyEnRails Rumble last weekend. It was a blast!

Prevent spambots from posting

Just got a report that we’re getting spammed by a spambot.

Then I recalled a remark @smeevil made about a technique he used to fight off spambots: create a valid form element but put it away somewhere off screen (a hidden field won’t probably work)


Using github on the mac for non-programmers

A quick and dirty tutorial for some friends of mine.

Needed software:

Nice to have:

  • Textmate: text editor.
  • GitHub account (for push rights).
  • GitX: Grapichal tool for commiting to local repo (OSX 10.5+).

Create account on github

Go to for an account.

Optional: Provide an SSH key for pushing changes.

Clone a Repo

My advice is to generate a special dir for the projects (mine is Rails).

Fire up the terminal and type:

    # Goto the dir
cd ~/Rails
    # if the repo is read only:
git clone git://
    # if you have push rights:
git clone
    # if you installed GitX (as mentioned above)

Adding changes

With the gitx program it’s easy to commit thanges to your local repo. When these are ready to commit to the master you sync it first with the HEAD and then push your changes.

    # get changes from the master repo to your local repo
git pull
    # push your changes
git push

Additional info:

If it’s a rails application you’re cloning, startup the server with

    # Copy database credentials, uses sqlite3 as default
cp config/database.yml.example config/database.yml
    # install required gems
rake gems:install
    # make tables
rake db:migrate
    # startup server at http://localhost:3000

and you will be able to use the application at http://localhost:3000

Burgerweeshuis Evenementen Kalender

Bij het gebrek aan een RSS feed van de burgerweeshuis agenda heb ik zelf een (ruby) tooltje gebouwd om alle nieuwe evenementen in google calender te plaatsen.

Tevens wordt elk nieuw evenement automatisch geplaats in het twitter account @burgerweeshuis. Via @nuinhetbw alle evenementen een uur van te voren aangekondigd.

Get yours here:

Dit tooltje heeft de aandacht getrokken van diverse andere organisaties en ben dan ook van plan om hier iets meer mee te gaan doen. I’ll keep you posted!

Textmate Comments doesn’t work anymore!

I like to stay on the edge of development so I’ve installed all the bundles available for TextMate in to my ~/Library/Application Support/TextMate.

But then you get a lot of bundles you don’t need like Active4D and ASP, so I disabled all the bundles who’s name didn’t ring a bell to me. The menu is readable again! Little did I know it was going to bite me in the foot the next day.

I performed this action late at night, just before getting some shut-eye. The next morning I was happily coding away until I discovered the Comment (command + /) feature didn’t work anymore!


At first I thought it was a corrupted bundle, so I disabled all bundles to no avail. Then I reinstalled TextMate, nothing….

I have this plugin called Project+, updated it: nope, reinstall it: nope, disable it: nope.

With AppZapper I deleted the caches: no joy.

So I was already an hour away and I got frustrated….. So I enabled all plugins and Tada! IT WORKED AGAIN! By trail and error I found out:

It’s all in the bundle called “Source”.

Re-enabling this plugin restores all functionality! Whoohoo!!

So, here we go again, coding happily away….

Create a Facebook app with Rails

In the beginning of this year I scored a programming gig for Wakoopa to spice up their Facebook app.

The original app was created in .NET by a third party and was buggy as hell. The goal was to recreate the app in Rails and have at least the same functionality.

Some befriended (PHP) developers warned me that facebook has some serious pitfalls so before I made an estimate for the project I bought a PDF called Developing Facebook Platform Applications with Rails from The Pragmatic Programmers and a PDF book from Peepcode.

Thanks to this PDF and the Facebooker plugin it was doable. I made the sample application as described in the PDF and so I had enough knowledge to create the WakoopaFacebook app. My advice: buy it!


RailsConfEurope 2008

jup! i’ll be attending RailsConfEurope next week in berlin!

anyone heading that way as wel??