Jamie's Blog

Ruby developer. CTO. Swimmer. Always trying to write more

Picks of the Week: Draper, Speedo MP3 player, mails_viewer

I always get a little bit jealous listening to various podcasts (Ruby Freelancers / Ruby Rogues) which ask their guests for “picks” every week. Since no one is inviting me a podcast every week, I thought I’d start to share my weekly picks any way....

Nothing changes unless you change it

Today, I was reminded of this passage from Jonathan Fields’ book ‘Uncertainty’:

In art, business, and entrepreneurship, there is no coasting. There is no neutral. No sideways. It’s a myth, an illusion. There’s only up or down. Leading or trailing....

Sleeping Air

There are two types of ‘Sleep’ that your MacBook Air can have: close-the-lid-sleep which will drain the battery within 24hrs; or sleep-from-the-menu-sleep which only uses about 3-5% in 24hrs. Choose wisely.

Connecting Navicat to Postgresql on Vagrant

I’m falling in love with Postgres as a database but it comes fairly well locked down (good for production, not so good for development). I do all my development in a Vagrant box so a) the environment matches production and b) I don’t pollute my Mac...

Software has no intrinsic value

Someone asked me today about the value of a piece of software and how we go about measuring that. Here’s my reply: Software is no different from anything else: it’s only worth what you can sell it for.

As such, software has no intrinsic value — the...

Speeding up Rails development

A brand new Rails app is a joy to work on but over the past few weeks I’ve noticed the app getting slower in development as, in hindsight, I added more and more stylesheets and javascripts. The culprit, I quickly realised, was the asset pipeline. On...

Creating association collections in FactoryGirl

I’m still discovering the joys of using FactoryGirl to create test data but I particularly like this pattern for creating a collection of associated objects.

FactoryGirl.define do
  factory :list do
    name "My List"

  trait :with_items do

Stop typing bundle exec with rbenv

It can get a bit tiresome typing bundle exec in front of every Rails command. RVM seems to have this problem solved but I’m using rbenv.

alias b

The quick and dirty way to add this to your .bashprofile/.bashrc file:
alias b='bundle exec'
Now you can...

:dependent => :destroy not firing

I had a model which wasn’t cleaning up the dependent models, even though the :dependent => :destroy attribute was set on the association:

class PerformancePlan < ActiveRecord::Base
  hasmany :goals, dependent: :destroy
  validatesassociated :goals...

Reflections on the Accident

My previous post about the car accident was a fairly concise explanation of the car accident but I also wanted to reflect on it from the luxury of years later. There’s very little to comment on physically: my injuries all healed up eventually and I...

How to stop Mail starting up on iCal events

Disable it using

sudo chmod 000 /Applications/Mail.app/Contents/MacOS/Mail

Particularly useful since I don’t use Apple’s Mail.


What’s the point of education?

Today is the day that thousands of school students receive their Leaving Cert results (that’s their last exams before university, so translate it accordingly for your country). It inevitably prompts the same news stories each year (X students got 600...

The Accident

[box style=“notice”]This was written a few weeks after the incident but I’m publishing it now for the first time. I’ve left the content and tone exactly as written even though in hindsight I might have written it differently.[/box] [box style=“alert...

Getting rid of annoying Postgres output in RSpec

You’ll often see lots of this in your RSpec output if you’re using Postgres:

NOTICE:  CREATE TABLE will create implicit sequence "companiesidseq" for serial column "companies.id"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "companies

My Favourite iPad Apps for Producers

Wpid photo 5 jun 2012 2132

A criticism levelled at the iPad is that it’s just for browsing the web, watching movies and playing games. Since I have such a crap broadband connection, I don’t watch movies and downloading massive games is out the window too. After some experimentation...

PhotoSmith v2 - an essential Lightroom companion app for your iPad

Wpid photo 26 may 2012 2238

I won’t lie. One of the reasons for buying a new iPad was so that when we’re away in Kerry I could backup the images, show them off to family and hopefully get a head start on editing them. I’d hoped PhotoSmith would be the answer but version 1 left...

How to make your own Lens Wrap

Img 8140 e1334271013347

Or: how to do in 2.5hrs and €20 what a 10 year-old Indonesian child could do in 20mins for €0.50 — but you get a much greater sense of satisfaction and a lot less exploitation.

My new camera bag has quite generous-sized compartments which I’d...

Change how you think

I rescued this link from my abandoned “ReadItLater” list and finally sat down to watch Bret Victor‘s amazing talk “Inventing on Principle”. You should watch it too, ideally now:

I promise that this will change how you think about programming, animation...


I’ve recently started listening to quite a few podcasts, particularly at work or in the car using my fancy iPhone dock. Here’s my favourites:

Ruby Freelancers: I’m not a freelancer (yet, maybe) but this podcast is full of really good information....

Licensing Software (and lessons for Professional Photographers)

Many moons ago, I used to hang out on The Business of Software forum and one question kept coming up again and again: “How can I stop pirates stealing my software?”. Software has a long history of using licence codes, dongles, licensing servers, online...

Page 6 of 47