dxw blog

Timecop Gotcha

Timecop is an extremely useful gem which allows you to simulate the passing of time in RSpec tests. We’re using it to test parts of Citrulu – for example, making sure we don’t send you multiple emails about the same thing. One of our tests has this shape: it “should do some stuff!” do # […]

Introducing: Lily Dart

We’re excited to announce that Lily Dart has joined dxw. As our first permanent designer, she’ll be working on the look and feel of most of our projects. Having a designer on the team will make it much easier for us to react quickly when our clients need things that need pretty. She’ll also be […]


We’ve been using Google Analytics to analyse traffic to Citrulu so far, but adding custom events to track significant things (e.g. when a user first creates a real test file) is a massive faff. We’re currently working on integrating KISSmetrics via its JavaScript API and it looks pretty shiny so far: everything is centered around the user, and […]

Introducing Whippet

For a while, we’ve been working on a stand-alone web server for doing WordPress development. We started working on it for a few reasons: We wanted a way to see debug information without cluttering up the theme or breaking or altering the layout We wanted a way to get more visibility on WordPress’s internals, without […]

Extending your testing strategy beyond go-live

In a recent post on his software testing blog, Eric Jacobsen talks about responding to bugs which ‘escape’ into production: For each escape, we ask the following questions: Could we do something to catch bugs of this nature? Is it worth the extra effort? … The answer to #2 is split between “yes” and “no”. […]

RSpec FAIL – Testing Rails ‘destroy’

I’m writing some specs for Citrulu and was scratching my head about this one for a while: When writing specs for Controllers, some http methods accept a hash as an input: it “assigns the requested test_file as @test_file” do controller.stub(:check_ownership!) get :edit, {:id => @test_file.to_param} assigns(:test_file).should eq(@test_file) end However with delete, this doesn’t work – the following […]

Permanent fix for Rails’ wretched deprecation warning

Developing rails apps under Ubuntu means that we get a lot of these warnings: DEPRECATION WARNING: require “activerecord” is deprecated and will be removed in Rails 3. Use require “active_record” instead. (called from at /usr/lib/ruby/vendor_ruby/activerecord.rb:2) Recently, we added a cron job to an app which meant that we were getting emailed this error every hour, […]

Disable your caps lock in Ubuntu

I hate the caps lock: it seems to exist just to give me strings of shouty text and to confuse vim. Normally, I just pop it off my keyboard. But I just got a nice new Das Keyboard professional, and I didn’t want to mutilate it. I had a quick Google and found lots of […]

Barclays Bikes gem

Harry Marr (GoCardless) has made barclays_bikes: a cool little gem that scrapes the Barclays Cycle Hire website and gives you a command line interface to get the number of bikes and free spaces available at each docking station. For example, $ bbikes Gives the full list of London’s docking stations and $ bbikes Borough Gives you […]