Undoing a faulty merge with git format patch and reverse apply

I found out that I merged a branch that I shouldn’t have. Surely it should be easy to undo this. Sadly no – after researching the documentation I found out that it’s in fact quite difficult. [Read more]

Command line Bash-fu

Why use the command line? Because it’s far quicker & more productive than using a GUI. It’s easy to automate & you can search what you’ve previously done. I use the BASH shell which is usually the default. [Read more]

Refactoring to composed methods in Ruby

The composed method pattern means breaking up your code into code into quite short, self descriptive methods. The result should be that your code is more readable and easier to debug. [Read more]

Web Crawler reading notes

Reading notes from Mining the Web, Discovering Knowledge from Hypertext Databy Soumen Chakrabarti [Read more]

Using app routes in ActionMailer

Have you ever needed to use app routes, eg foo_path(1) or bar_url in ActionMailer and found they’re not available? I’ve needed to generate app routes in plain old classes which do not inherit from Rails classes, eg: [Read more]

ActiveRecord tableless model gem

I’ve written a gem to simplify creating ActiveRecord clases which don’t need a database table. I’ve found this useful for: [Read more]

My Ruby on Rails development environment

Here’s my Ruby / Rails development environment. I use jedit, firefox and gnome-terminal. My operating system of choice is Ubuntu (the rich mans OS X). [Read more]

Easily declare private methods in Ruby

N.B. Work in progress! Haven’t yet figured out how to declare method private fro m within an instance method. [Read more]

Continuous Delivery reading notes

From Continuous Delivery by Farley & Humble. You can check out the book and articles on their web site. [Read more]

Inbox Zero and ThunderBird email productivity

Start with a clean slate

  1. Triage: move all mail to an archive folder
  2. Turn off notifications
  3. View unread email only
  4. Hide the side bar

Here’s my inbox … [Read more]